diff --git a/.github/workflows/conda-pack.yaml b/.github/workflows/conda-pack.yaml new file mode 100644 index 000000000..2720929d7 --- /dev/null +++ b/.github/workflows/conda-pack.yaml @@ -0,0 +1,46 @@ +name: Build conda environments + +on: [push] + +jobs: + build: + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + + steps: + - name: Set up variables + id: vars + run: | + echo ::set-output name=filename::wake-${{ runner.os }}-${{ runner.arch }}.tar.gz + - uses: actions/checkout@v2 + - uses: conda-incubator/setup-miniconda@v3 + with: + activate-environment: wake + auto-update-conda: true + python-version: "3.10" + - name: Install dependencies + shell: bash -el {0} + run: | + python -m pip install . + conda install -c conda-forge conda-pack -y + - name: Pack conda environment + shell: bash -el {0} + run: | + conda-pack -n wake -o ${{ steps.vars.outputs.filename }} + - name: Generate checksum + run: | + sha256sum ${{ steps.vars.outputs.filename }} > ${{ steps.vars.outputs.filename }}.sha256 + - name: Generate signature + run: | + echo "${{ secrets.CONDA_PRIVATE_KEY }}" > key.pem + openssl dgst -sha256 -sign key.pem -out ${{ steps.vars.outputs.filename }}.sha256.sig ${{ steps.vars.outputs.filename }}.sha256 + - name: Upload files + uses: actions/upload-artifact@v2 + with: + name: wake-${{ runner.os }}-${{ runner.arch }} + paths: | + ${{ steps.vars.outputs.filename }} + ${{ steps.vars.outputs.filename }}.sha256 + ${{ steps.vars.outputs.filename }}.sha256.sig