Skip to content

Commit

Permalink
ci: updates workflows (#119)
Browse files Browse the repository at this point in the history
  • Loading branch information
jtyoung84 authored Jun 17, 2024
1 parent b494b4c commit 2d50d5f
Show file tree
Hide file tree
Showing 4 changed files with 98 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
name: Tag and publish
name: Publish dev
on:
push:
branches:
- main
- dev

jobs:
tag:
uses: AllenNeuralDynamics/aind-github-actions/.github/workflows/tag.yml@main
secrets:
SERVICE_TOKEN: ${{ secrets.SERVICE_TOKEN }}
publish:
runs-on: ubuntu-latest
needs: tag
steps:
- uses: actions/checkout@v3
- name: Pull latest changes
run: git pull origin main
- name: Compute new docker image tag
run: |
echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV"
echo "branch=$(echo ${GITHUB_REF_NAME})" >> "$GITHUB_ENV"
echo "docker_tag=$(echo ${GITHUB_REF_NAME})-$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV"
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
Expand All @@ -31,5 +30,5 @@ jobs:
context: .
push: true
tags: |
ghcr.io/allenneuraldynamics/aind-data-transfer-service:${{ needs.tag.outputs.new_version }}
ghcr.io/allenneuraldynamics/aind-data-transfer-service:latest
ghcr.io/allenneuraldynamics/aind-data-transfer-service:${{ env.docker_tag }}
ghcr.io/allenneuraldynamics/aind-data-transfer-service:dev
43 changes: 43 additions & 0 deletions .github/workflows/publish_main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Tag and publish main
on:
push:
branches:
- main

jobs:
tag_and_publish:
name: Parse version
runs-on: ubuntu-latest
outputs:
pkg_version: ${{ steps.output_version.outputs.pkg_version }}
steps:
- uses: actions/checkout@v3
- name: Get version from file
run: |
pkg_name=$(grep -P 'version = \{attr = .*\}' pyproject.toml | grep -oP '\w+.__version__')
init_file="./src/${pkg_name//.__version__}/__init__.py"
pkg_version=$(grep -Po '[0-9]+\.[0-9]+\.[0-9]+' "$init_file")
echo "docker_tag=$pkg_version" >> "$GITHUB_ENV"
- name: Create git tag
run: |
git tag "v${{ env.docker_tag }}"
- name: Push git tag
run: git push origin "v${{ env.docker_tag }}"
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Login to Github Packages
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build image and push to GitHub Container Registry
uses: docker/build-push-action@v3
with:
# relative path to the place where source code with Dockerfile is located
context: .
push: true
tags: |
ghcr.io/allenneuraldynamics/aind-data-transfer-service:${{ env.docker_tag }}
ghcr.io/allenneuraldynamics/aind-data-transfer-service:latest
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: Lint and run tests
name: Run checks in dev

on:
pull_request:
branches:
- main
- dev

jobs:
ci:
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/run_main_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Run checks in main and release

on:
pull_request:
branches:
- '*release*'
- main

jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ '3.9', '3.10', '3.11' ]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install -e .[dev]
- name: Run linter checks
run: flake8 . && interrogate --verbose .
- name: Run tests and coverage
run: coverage run -m unittest discover && coverage report
verify_version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check version incremented
run: |
pkg_name=$(grep -P 'version = \{attr = .*\}' pyproject.toml | grep -oP '\w+.__version__')
init_file="./src/${pkg_name//.__version__}/__init__.py"
pkg_version=$(grep -Po '[0-9]+\.[0-9]+\.[0-9]+' "$init_file")
latest_tag=$(git ls-remote --tags --refs --sort="v:refname" | tail -n1 | sed 's/.*\///')
echo "Checking pkg_version v$pkg_version and latest_tag $latest_tag"
if [ "$latest_tag" == "v$pkg_version" ]
then
exit 1
fi
echo "Versions are different"

0 comments on commit 2d50d5f

Please sign in to comment.