diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..6a31efe --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,14 @@ +name: ci + +on: + push: + branches: [main] + pull_request: + +jobs: + linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: ./configure && make + - run: ./mikusays -V && ./mikusays "hi" diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..12ab226 --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,71 @@ +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/* diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index cdd7c00..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: ci - -on: - push: - branches: [main] - pull_request: - -permissions: - contents: read - -jobs: - unix: - strategy: - fail-fast: false - matrix: - os: [ubuntu-24.04, ubuntu-24.04-arm, macos-15, macos-15-intel] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v6 - - run: ./configure && make - - run: ./mikusays -V && ./mikusays "hi" - - windows: - runs-on: windows-2025 - defaults: - run: - shell: msys2 {0} - steps: - - uses: actions/checkout@v6 - - uses: msys2/setup-msys2@v2 - with: - msystem: UCRT64 - install: mingw-w64-ucrt-x86_64-gcc make - - run: ./configure && make - - run: ./mikusays.exe -V && ./mikusays.exe "hi" - - # runs in a real FreeBSD VM with its stock cc + BSD make - freebsd: - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v6 - - uses: vmactions/freebsd-vm@v1 - with: - usesh: true - run: | - ./configure - make - ./mikusays -V - ./mikusays "hi" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 3ee837b..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,116 +0,0 @@ -name: release - -on: - push: - tags: ["v*"] - -permissions: - contents: read - -jobs: - # builds the source tarball (configure included) and checks tag == configure.ac version - dist: - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v6 - - 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@v7 - with: - name: dist - path: mikusays-*.tar.gz - - # linux + macos binaries, built from the tarball (so it tests what packagers get) - build: - needs: dist - strategy: - fail-fast: false - matrix: - include: - - { name: linux-x86_64, os: ubuntu-24.04, ldflags: "-static" } - - { name: linux-aarch64, os: ubuntu-24.04-arm, ldflags: "-static" } - - { name: macos-arm64, os: macos-15, ldflags: "" } - - { name: macos-x86_64, os: macos-15-intel, ldflags: "" } - runs-on: ${{ matrix.os }} - env: - MACOSX_DEPLOYMENT_TARGET: "11.0" - steps: - - uses: actions/download-artifact@v8 - with: - name: dist - - name: build and package - run: | - VERSION=${GITHUB_REF_NAME#v} - tar xf mikusays-$VERSION.tar.gz - cd mikusays-$VERSION - ./configure LDFLAGS="${{ matrix.ldflags }}" - make - strip mikusays - ./mikusays -V - ./mikusays "hi" > /dev/null - out=mikusays-$VERSION-${{ matrix.name }} - mkdir "$out" - cp mikusays LICENSE README.md "$out"/ - tar czf ../"$out".tar.gz "$out" - - uses: actions/upload-artifact@v7 - with: - name: bin-${{ matrix.name }} - path: mikusays-*-${{ matrix.name }}.tar.gz - - # windows exe via MSYS2/MinGW (configure needs a posix shell) - windows: - needs: dist - runs-on: windows-2025 - defaults: - run: - shell: msys2 {0} - steps: - - uses: msys2/setup-msys2@v2 - with: - msystem: UCRT64 - install: mingw-w64-ucrt-x86_64-gcc make zip - - uses: actions/download-artifact@v8 - 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.exe - ./mikusays.exe -V - ./mikusays.exe "hi" > /dev/null - out=mikusays-$VERSION-windows-x86_64 - mkdir "$out" - cp mikusays.exe LICENSE README.md "$out"/ - zip -r ../"$out".zip "$out" - - uses: actions/upload-artifact@v7 - with: - name: bin-windows-x86_64 - path: mikusays-*-windows-x86_64.zip - - release: - needs: [dist, build, windows] - runs-on: ubuntu-24.04 - permissions: - contents: write - steps: - - uses: actions/download-artifact@v8 - with: - path: artifacts - merge-multiple: true - - name: checksums - run: cd artifacts && sha256sum * > SHA256SUMS - - uses: softprops/action-gh-release@v2 - with: - files: artifacts/* - generate_release_notes: true diff --git a/configure b/configure index 3e54f22..e296f25 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.73 for mikusays 1.0.0. +# Generated by GNU Autoconf 2.73 for mikusays 1.1.0. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2026 Free Software Foundation, @@ -584,8 +584,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='mikusays' PACKAGE_TARNAME='mikusays' -PACKAGE_VERSION='1.0.0' -PACKAGE_STRING='mikusays 1.0.0' +PACKAGE_VERSION='1.1.0' +PACKAGE_STRING='mikusays 1.1.0' PACKAGE_BUGREPORT='' PACKAGE_URL='https://git.squeakyrat.moe/mikusays-c' @@ -1281,7 +1281,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures mikusays 1.0.0 to adapt to many kinds of systems. +'configure' configures mikusays 1.1.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1348,7 +1348,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of mikusays 1.0.0:";; + short | recursive ) echo "Configuration of mikusays 1.1.0:";; esac cat <<\_ACEOF @@ -1443,7 +1443,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -mikusays configure 1.0.0 +mikusays configure 1.1.0 generated by GNU Autoconf 2.73 Copyright (C) 2026 Free Software Foundation, Inc. @@ -1555,7 +1555,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by mikusays $as_me 1.0.0, which was +It was created by mikusays $as_me 1.1.0, which was generated by GNU Autoconf 2.73. Invocation command line was $ $0$ac_configure_args_raw @@ -3171,7 +3171,7 @@ fi # Define the identity of the package. PACKAGE='mikusays' - VERSION='1.0.0' + VERSION='1.1.0' printf '%s\n' "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -5437,7 +5437,7 @@ cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by mikusays $as_me 1.0.0, which was +This file was extended by mikusays $as_me 1.1.0, which was generated by GNU Autoconf 2.73. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5497,7 +5497,7 @@ ac_cs_config_escaped=`printf '%s\n' "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -mikusays config.status 1.0.0 +mikusays config.status 1.1.0 configured by $0, generated by GNU Autoconf 2.73, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index a4bf19a..1fa8c0f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.69]) -AC_INIT([mikusays], [1.0.0], [], [mikusays], [https://git.squeakyrat.moe/mikusays-c]) +AC_INIT([mikusays], [1.1.0], [], [mikusays], [https://git.squeakyrat.moe/mikusays-c]) AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([foreign subdir-objects -Wall])