Skip to content

Bump version to 0.1.0 #77

Bump version to 0.1.0

Bump version to 0.1.0 #77

Workflow file for this run

name: Build
on:
push:
branches: ["*"]
pull_request:
jobs:
build-linux:
strategy:
fail-fast: false
matrix:
include:
- name: Ubuntu (latest)
image: ubuntu:latest
- name: Ubuntu (24.04 LTS)
image: ubuntu:24.04
- name: Debian (stable)
image: debian:stable
- name: Debian (oldstable)
image: debian:oldstable
- name: Fedora (latest)
image: fedora:latest
- name: Rocky Linux 9
image: rockylinux:9
- name: Alpine (latest)
image: alpine:latest
- name: openSUSE Leap
image: opensuse/leap:latest
- name: Arch Linux
image: archlinux:latest
name: ${{ matrix.name }}
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
timeout-minutes: 10
steps:
- name: Install build tools (apt)
if: contains(matrix.image, 'ubuntu') || contains(matrix.image, 'debian')
run: |
apt-get update
apt-get install -y build-essential git
- name: Install build tools (dnf)
if: contains(matrix.image, 'fedora') || contains(matrix.image, 'rockylinux')
run: |
dnf install -y gcc make git
- name: Install build tools (apk)
if: contains(matrix.image, 'alpine')
run: |
apk add build-base git linux-headers
- name: Install build tools (zypper)
if: contains(matrix.image, 'opensuse')
run: |
zypper --non-interactive --gpg-auto-import-keys refresh || true
zypper install -y gcc make git
- name: Install build tools (pacman)
if: contains(matrix.image, 'archlinux')
run: |
pacman -Sy --noconfirm gcc make git
- name: Checkout
uses: actions/checkout@v6
- name: Build
run: make
- name: Verify binary
run: ./thinproxy -V
build-freebsd:
name: FreeBSD
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- uses: vmactions/freebsd-vm@v1
with:
usesh: true
run: make && ./thinproxy -V
build-netbsd:
name: NetBSD
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- uses: vmactions/netbsd-vm@v1
with:
usesh: true
run: make && ./thinproxy -V
build-dragonflybsd:
name: DragonFlyBSD
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
- uses: vmactions/dragonflybsd-vm@v1
with:
usesh: true
run: make && ./thinproxy -V
tag-release:
name: Tag and release on version change
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
permissions:
contents: write
actions: write
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Create tag, release, and trigger asset builds
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
ver=$(sed -n 's/^#define THINPROXY_VERSION.*"\(.*\)"/\1/p' thinproxy.c)
if [ -z "$ver" ]; then
echo "Could not extract version"
exit 1
fi
if ! git rev-parse "v${ver}" >/dev/null 2>&1; then
echo "Creating tag v${ver}"
git tag "v${ver}"
git push origin "v${ver}"
fi
if gh release view "v${ver}" --repo "${{ github.repository }}" >/dev/null 2>&1; then
echo "Release v${ver} already exists, skipping"
exit 0
fi
echo "Creating release v${ver}"
gh release create "v${ver}" \
--repo "${{ github.repository }}" \
--title "v${ver}" \
--generate-notes
echo "Triggering asset builds"
gh workflow run release.yml \
--repo "${{ github.repository }}" \
-f ref="v${ver}" \
-f release_tag="v${ver}"
build-macos:
strategy:
fail-fast: false
matrix:
os: [macos-latest, macos-26]
name: macOS (${{ matrix.os }})
runs-on: ${{ matrix.os }}
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Build
run: make
- name: Verify binary
run: ./thinproxy -V