Skip to content

fix: ci tests

fix: ci tests #21

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
test:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install the latest version of rye
uses: eifinger/setup-rye@v4
- name: Add Python to PATH
run: echo "$(rye show python-path | head -n 1 | xargs dirname | xargs dirname)/bin" >> $GITHUB_PATH
- name: Cache Rye
uses: actions/cache@v4
with:
path: |
~/.cache/rye
~/.rye
key: ${{ runner.os }}-rye-${{ hashFiles('**/pyproject.toml', '**/pyproject.lock') }}
restore-keys: |
${{ runner.os }}-rye-
- name: Sync dependencies
run: rye sync
- name: Lint & Format (Ruff)
run: rye run ruff check .
# - name: Log in to GHCR
# run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${{ github.actor }}" --password-stdin
# - name: Build container
# run: |
# IMAGE_NAME=ghcr.io/query-farm/python-airport-test-server
# docker build -t $IMAGE_NAME:latest .
# - name: Start server container
# run: |
# IMAGE_NAME=ghcr.io/query-farm/python-airport-test-server
# docker run -d --name airport_test_server -p 50003:50003 $IMAGE_NAME:latest
# - name: Stop server
# run: |
# docker stop airport_test_server
# - name: Push Docker image to GHCR
# run: |
# IMAGE_NAME=ghcr.io/query-farm/python-airport-test-server
# docker push $IMAGE_NAME:latest
# Build Linux images on ubuntu runner
build-linux:
needs: test
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v2
with:
token_format: access_token
workload_identity_provider: ${{ secrets.GOOGLE_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
- name: Set up Docker to use gcloud as a credential helper
run: |
gcloud auth configure-docker us-central1-docker.pkg.dev
- name: Build and Push Docker Image
run: |
IMAGE="us-central1-docker.pkg.dev/YOUR_PROJECT/YOUR_REPO/YOUR_IMAGE:latest"
docker build -t $IMAGE .
docker push $IMAGE
- name: Build and push Linux images (amd64 + arm64)
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: us-central1-docker.pkg.dev/airport-ci-service/python-airport-test-server/python-airport-test-server:latest
platforms: linux/amd64