Skip to content

Commit

Permalink
Support for ARM (#27)
Browse files Browse the repository at this point in the history
* Force pip to build without the temp dir in order to avoid issues with future pip changes.

* install gcc in Docker image #18

* use buildx to build multiple architectures are push to ECR #18

* version bump

* testing workflow on this branch

* fixing branch name

* removing test flags

Co-authored-by: Will Cunningham <[email protected]>
  • Loading branch information
Scott Wyman Neagle and wjcunningham7 authored Jan 28, 2022
1 parent 95d03b7 commit 43da4f9
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 6 deletions.
Binary file removed .github/workflows/.publish_master.yml.swp
Binary file not shown.
20 changes: 19 additions & 1 deletion .github/workflows/publish_master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,27 @@ jobs:
TAG=$TAG-$SHORT_SHA
fi
echo "TAG=$TAG" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
- name: Login to DockerHub
uses: docker/login-action@v1
with:
registry: public.ecr.aws
username: ${{ secrets.AWS_KEY_ID }}
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Build and push image
uses: pahud/ecr-public-action@8cd826db40befb59b0cd0b60b22a7ba72d06a7f7
uses: docker/build-push-action@v2
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
${{ secrets.AWS_ECR_REPO }}:latest
${{ secrets.AWS_ECR_REPO }}:${{ env.TAG }}
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.22.8] - 2022-01-27

### Fixed

- publish workflow, using `docker buildx` to build images for x86 and ARM, prepare manifest and push to ECR so that pulls will match the correct architecture.
- typo in CONTRIBUTING
- installing `gcc` in Docker image so Docker can build wheels for `dask` and other packages that don't provide ARM wheels

### Changed

- updated versions in `requirements.txt` for `matplotlib` and `dask`

## [0.22.7] - 2022-01-27

### Added
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ where `my-github` is your personal GitHub account.
We recommend using [Conda](https://www.anaconda.com/) to create an environment to install and develop Covalent. After you have [installed](https://docs.anaconda.com/anaconda/install/index.html) `conda`, create an environment:

```shell
conda create -n covalent-dev python:3.8
conda create -n covalent-dev python=3.8
conda activate covalent-dev
```

Expand Down
6 changes: 5 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,13 @@

FROM python:3.8-slim-buster

RUN apt-get update && apt-get install -y \
gcc \
&& rm -rf /var/lib/apt/lists/*

RUN mkdir -p /opt/covalent
COPY . /opt/covalent
RUN pip install --no-cache-dir /opt/covalent
RUN pip install --no-cache-dir --use-feature=in-tree-build /opt/covalent

EXPOSE 80

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.22.7
0.22.8
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
cloudpickle==2.0.0
dask[distributed]==2021.10.0
dask[distributed]==2022.1.0
eventlet==0.30.2
flask==2.0.1
flask-cors==3.0.10
flask-socketio==5.1.1
gunicorn==20.1.0
matplotlib==3.3.1
matplotlib==3.5.1
networkx==2.5
requests==2.24.0
sentinel==0.3.0
Expand Down

0 comments on commit 43da4f9

Please sign in to comment.