name: release on: push: tags: ["v*"] jobs: 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 mv mikusays ../mikusays-$VERSION-linux-x86_64 - uses: actions/upload-artifact@v3 with: name: bin-linux-x86_64 path: mikusays-*-linux-x86_64 build-windows: needs: dist runs-on: ubuntu-latest steps: - name: install compiler run: sudo apt-get update && sudo apt-get install -y build-essential gcc-mingw-w64-x86-64 - 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 --host=x86_64-w64-mingw32 LDFLAGS="-static" make x86_64-w64-mingw32-strip mikusays.exe mv mikusays.exe ../mikusays-$VERSION-windows-x86_64.exe - uses: actions/upload-artifact@v3 with: name: bin-windows-x86_64 path: mikusays-*-windows-x86_64.exe release: needs: [dist, build, build-windows] 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/*