name: release on: push: tags: ["v*"] jobs: # builds the source tarball (configure included) and checks tag == configure.ac version dist: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: install autotools run: sudo apt-get update && sudo apt-get install -y autoconf automake - run: autoreconf -fi - run: touch configure configure.ac aclocal.m4 Makefile.in - name: tag must match version in configure.ac run: | ver=$(./configure --version | head -1 | awk '{print $NF}') test "v$ver" = "$GITHUB_REF_NAME" - run: ./configure && make distcheck - uses: actions/upload-artifact@v3 with: name: dist path: mikusays-*.tar.gz # linux binary, built from the tarball (so it tests what packagers get) build: needs: dist runs-on: ubuntu-latest steps: - name: install compiler run: sudo apt-get update && sudo apt-get install -y build-essential - uses: actions/download-artifact@v3 with: name: dist - name: build and package run: | VERSION=${GITHUB_REF_NAME#v} tar xf mikusays-$VERSION.tar.gz cd mikusays-$VERSION ./configure LDFLAGS="-static" make strip mikusays ./mikusays -V ./mikusays "hi" > /dev/null out=mikusays-$VERSION-linux-x86_64 mkdir "$out" cp mikusays LICENSE README.md "$out"/ tar czf ../"$out".tar.gz "$out" - uses: actions/upload-artifact@v3 with: name: bin-linux-x86_64 path: mikusays-*-linux-x86_64.tar.gz release: needs: [dist, build] runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v3 with: path: artifacts - name: checksums run: | cd artifacts find . -mindepth 2 -type f -exec mv {} . \; find . -type d -empty -delete sha256sum * > SHA256SUMS - uses: akkuman/gitea-release-action@v1 with: files: artifacts/*