name: AppImage on: push: paths: - '.github/workflows/appimage.yml' - 'python_appimage/**' jobs: Build: runs-on: ubuntu-latest strategy: matrix: image: ['1', '2010', '2014'] arch: [x86_64, i686] tag: [cp27-cp27m, cp27-cp27mu, cp35-cp35m, cp36-cp36m, cp37-cp37m, cp38-cp38] exclude: - image: '2014' tag: cp27-cp27m - image: '2014' tag: cp27-cp27mu steps: - uses: actions/checkout@v2 - name: Build run: | # Build the AppImage python -m python_appimage build manylinux \ ${{ matrix.image }}_${{ matrix.arch }} \ ${{ matrix.tag }} # Export the AppImage name and the Python version appimage=$(ls python*.AppImage) SCRIPT=$(cat <<-END version = '${appimage}'[6:].split('.', 2) print('{:}.{:}'.format(*version[:2])) END ) version=$(python -c "${SCRIPT}") echo "::set-env name=PYTHON_APPIMAGE::${appimage}" echo "::set-env name=PYTHON_VERSION::${version}" - uses: actions/upload-artifact@v1 if: github.ref == 'refs/heads/master' with: name: python${{ env.PYTHON_VERSION }}-appimages path: ${{ env.PYTHON_APPIMAGE }} Release: needs: Build runs-on: ubuntu-latest if: github.ref == 'refs/heads/master' strategy: matrix: version: [2.7, 3.5, 3.6, 3.7, 3.8] steps: - uses: actions/download-artifact@v1 with: name: python${{ matrix.version }}-appimages - name: Release uses: marvinpinto/action-automatic-releases@latest with: automatic_release_tag: python${{ matrix.version }} title: Python ${{ matrix.version }} files: | python${{ matrix.version }}-appimages/python*.AppImage repo_token: ${{ secrets.GITHUB_TOKEN }}