Files
aprsd/.github/workflows/master-build.yml
T
hemna 4642035306 fix: rename 'list' variable in HelpPlugin to avoid shadowing Python builtin (#233)
* fix: rename 'list' variable in HelpPlugin to avoid shadowing Python builtin

Closes #15

aprsd/plugin.py HelpPlugin.process() used 'list' as a local variable name,
shadowing the Python built-in list type. Renamed to 'plugin_names'.

* ci: fix CI workflow for Forgejo self-hosted runners

- Switch runs-on from ubuntu-latest to docker (node:20-bookworm)
  ubuntu-latest runner has no Node.js so actions/checkout@v4 fails
- Replace actions/setup-python@v5 (broken on self-hosted) with uv
- Use tox-uv instead of pip-installed tox for faster installs

* ci: use catthehacker/ubuntu:act-latest container (matches haminfo working CI)

* ci: fix master-build.yml for Forgejo self-hosted runners

Use catthehacker/ubuntu:act-latest container + uv for tox,
matching the working pattern from haminfo. Removes broken
actions/setup-python@v2 + ubuntu-latest bare runner combo.

* ci: revert workflow changes - Forgejo-specific, not for GitHub Actions

* ci: restrict master-build to master branch and tags only

The Docker build job clones from GitHub by branch name, which fails
for feature branches (sanitized slash → name mismatch). This workflow
should only run on master pushes and version tags, not on PRs.

* docs: add unreleased changelog entries for PR #233

* docs: update changelog for 5.0.1 release
2026-08-28 11:18:26 -04:00

82 lines
2.1 KiB
YAML

name: Test and Build Latest Container Image
on:
schedule:
- cron: "0 10 * * *"
push:
branches:
- "master"
tags:
- "*.*.*"
jobs:
tox:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox tox-gh>=1.2
- name: Test with tox
run: tox
build:
needs: tox
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Branch Name
id: branch-name
uses: tj-actions/branch-names@v8
- name: Resolve Docker Tag
id: docker-tag
env:
BRANCH_NAME: ${{ steps.branch-name.outputs.current_branch }}
run: |
#!/bin/bash
branch="${BRANCH_NAME}"
# If branch is empty, use 'master' as fallback
if [ -z "$branch" ]; then
echo "Branch is empty, using 'master'"
tag="master"
else
# Sanitize branch name for Docker tag (replace / with -)
tag="${branch//\//-}"
echo "Using sanitized branch: $tag"
fi
echo "tag=${tag}" >> "$GITHUB_OUTPUT"
echo "Docker tag will be: ${tag}"
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker HUB
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build the Docker image
uses: docker/build-push-action@v6
with:
context: "{{defaultContext}}:docker"
platforms: linux/amd64,linux/arm64
file: ./Dockerfile
build-args: |
INSTALL_TYPE=github
BRANCH=${{ steps.docker-tag.outputs.tag }}
BUILDX_QEMU_ENV=true
push: true
tags: |
hemna6969/aprsd:${{ steps.docker-tag.outputs.tag }}