name: Build and Push Image on: [push] jobs: test: name: Unit tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 # NOTE: no actions/setup-python here. That action downloads a Python # build from GitHub, which this runner cannot reach reliably - the job # hung on it. The runner image already carries a usable python3, so # the tests use it directly. - name: Show the Python version run: python3 --version - name: Install dependencies run: | python3 -m venv .venv . .venv/bin/activate pip install --upgrade pip pip install -r requirements-dev.txt - name: Run tests run: | . .venv/bin/activate python -m pytest tests/ -q build: name: Build and push image runs-on: ubuntu-latest container: catthehacker/ubuntu:act-latest needs: test if: gitea.ref == 'refs/heads/master' steps: - name: Checkout uses: actions/checkout@v4 - name: Create Kubeconfig run: | mkdir $HOME/.kube echo "${{ secrets.KUBEC_CONFIG_BUILDX }}" > $HOME/.kube/config - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: driver: kubernetes driver-opts: | namespace=gitea-runner qemu.install=true - name: Login to Docker Registry uses: docker/login-action@v3 with: registry: git.aridgwayweb.com username: armistace password: ${{ secrets.REG_PASSWORD }} - name: Build Base Image uses: docker/build-push-action@v5 with: context: . push: true file: base.Dockerfile platforms: linux/amd64,linux/arm64 tags: | git.aridgwayweb.com/armistace/beer_base_image:latest - name: Build and Push uses: docker/build-push-action@v5 with: context: . push: true file: flask.Dockerfile platforms: linux/amd64,linux/arm64 tags: | git.aridgwayweb.com/armistace/beer-data:latest