diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml new file mode 100644 index 00000000..56f29603 --- /dev/null +++ b/.github/workflows/dist.yml @@ -0,0 +1,53 @@ +name: Release + +on: + push: + tags: + - 'v[0-9]*' + + workflow_dispatch: + # Allow to run manually + +env: + # Ubuntu packages to install so that the projects' "make dist" can succeed + DIST_PREREQ: libtool libopenblas-dev libgmp-dev libgivaro-dev + # Name of this project in the Sage distribution + SPKG: fflas_ffpack + +jobs: + release_dist: + runs-on: ubuntu-latest + env: + PREFIX: /tmp/build + steps: + - name: Check out givaro + uses: actions/checkout@v4 + with: + path: build/pkgs/givaro/src + repository: linbox-team/givaro + - name: Check out ${{ env.SPKG }} + uses: actions/checkout@v4 + with: + path: build/pkgs/${{ env.SPKG }}/src + - name: Install prerequisites + run: | + sudo DEBIAN_FRONTEND=noninteractive apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install $DIST_PREREQ + + - name: Run make dist, prepare upstream artifact + run: | + (cd build/pkgs/givaro/src && autoreconf -fi && ./configure --prefix=${{ env.PREFIX }} && make -j5 && make install) \ + && export PKG_CONFIG_PATH="${{ env.PREFIX }}/lib/pkgconfig:$PKG_CONFIG_PATH" \ + && (cd build/pkgs/${{ env.SPKG }}/src && autoreconf -fi && ./configure --prefix=${{ env.PREFIX }} && make -j5 && make -j5 distcheck) \ + && mkdir -p upstream && cp build/pkgs/${{ env.SPKG }}/src/*.tar.gz upstream/ \ + && ls -l upstream/ + - uses: actions/upload-artifact@v4 + with: + path: upstream + name: upstream + - uses: softprops/action-gh-release@v2 + with: + generate_release_notes: true + files: | + upstream/* + if: startsWith(github.ref, 'refs/tags/')