diff --git a/.github/workflows/conda-pack-arm.yaml b/.github/workflows/conda-pack-arm.yaml new file mode 100644 index 000000000..4b2255f0b --- /dev/null +++ b/.github/workflows/conda-pack-arm.yaml @@ -0,0 +1,48 @@ +name: Build conda environments + +on: [push] + +jobs: + build-arm-linux: + runs-on: ubuntu-latest + + steps: + - name: Set up variables + id: vars + shell: bash -el {0} + run: | + echo "FILENAME=wake-${{ runner.os }}-ARM64.tar.gz" >> $GITHUB_ENV + + - uses: actions/checkout@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + with: + platforms: arm64 + + - name: Run ARM environment in Docker + run: | + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace --platform linux/arm64 \ + condaforge/miniforge3 bash -c " + conda create -n wake --platform linux-aarch64 python=3.10 -y && \ + source activate wake && \ + conda install -c conda-forge conda-pack -y && \ + python -m pip install . && \ + conda-pack -n wake -o ${{ env.FILENAME }} && \ + sha256sum ${{ env.FILENAME }} > ${{ env.FILENAME }}.sha256 && \ + echo '${{ secrets.CONDA_PRIVATE_KEY }}' > key.pem && \ + openssl dgst -sha256 -sign key.pem -out ${{ env.FILENAME }}.sha256.sig ${{ env.FILENAME }}.sha256 + " + + - name: Adjust permissions + run: sudo chmod -R 777 ${{ github.workspace }} + + - name: Upload files + uses: actions/upload-artifact@v2 + with: + name: wake-${{ runner.os }}-ARM64 + path: | + ${{ env.FILENAME }} + ${{ env.FILENAME }}.sha256 + ${{ env.FILENAME }}.sha256.sig