44 push :
55 tags :
66 - " v*.*.*"
7+ pull_request :
8+ branches : ["main"]
9+
10+ env :
11+ PYTHON_VERSION : " 3.10"
712
813jobs :
14+ build_and_test_package :
15+ uses : ./.github/workflows/build-test-python.yml
16+
17+ build_and_test_docker :
18+ uses : ./.github/workflows/build-test-docker.yml
19+
920 publish_to_pypi :
1021 name : Publish to PyPI
1122 runs-on : ubuntu-latest
12-
23+ needs : [build_and_test_package, build_and_test_docker]
1324 permissions :
1425 id-token : write
15- contents : read
16-
1726 steps :
1827 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1928
20- - name : Build package
21- uses : ./.github/actions/python-package-build
22- id : build
29+ - name : Download package artifacts
30+ uses : actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
2331 with :
24- uv-version : " 0.8.22"
25- python-version : " 3.10"
32+ name : python-package-${{ github.sha }}
33+ path : dist
34+
35+ - name : Install uv
36+ uses : astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
2637
2738 - name : Publish package
2839 run : |
3142 publish_to_dockerhub :
3243 name : Push Docker images to registries
3344 runs-on : ubuntu-latest
45+ needs : [build_and_test_docker, build_and_test_package]
3446 permissions :
3547 contents : read
3648 packages : write
@@ -51,33 +63,33 @@ jobs:
5163 username : ${{ github.actor }}
5264 password : ${{ secrets.GITHUB_TOKEN }}
5365
54- - name : Push Docker images
55- uses : ./.github/actions/docker-build
56- with :
57- push : " true"
58- platforms : linux/amd64,linux/arm64
59- dockerfile : ./Dockerfile
60- context : .
61- image-name : elementsinteractive/twyn
62- cache-from : |
63- type=registry,ref=ghcr.io/elementsinteractive/twyn:buildcache-amd64
64- type=registry,ref=ghcr.io/elementsinteractive/twyn:buildcache-arm64
65-
66- - name : Delete old cache entries
67- env :
68- GH_TOKEN : ${{ github.token }}
69- run : |
70- # Get all versions of the container package
71- versions=$(gh api "orgs/elementsinteractive/packages/container/twyn/versions" --paginate)
66+ # - name: Push Docker images
67+ # uses: ./.github/actions/docker-build
68+ # with:
69+ # push: "true"
70+ # platforms: linux/amd64,linux/arm64
71+ # dockerfile: ./Dockerfile
72+ # context: .
73+ # image-name: elementsinteractive/twyn
74+ # cache-from: |
75+ # type=registry,ref=ghcr.io/elementsinteractive/twyn:buildcache-amd64
76+ # type=registry,ref=ghcr.io/elementsinteractive/twyn:buildcache-arm64
77+
78+ # - name: Delete old cache entries
79+ # env:
80+ # GH_TOKEN: ${{ github.token }}
81+ # run: |
82+ # # Get all versions of the container package
83+ # versions=$(gh api "orgs/elementsinteractive/packages/container/twyn/versions" --paginate)
7284
73- # Extract version IDs that do NOT have any buildcache-* tags (buildcache-amd64, buildcache-arm64, etc.)
74- ids_to_delete=$(echo "$versions" | jq -r '.[] | select(.metadata.container.tags | map(test("^buildcache-")) | any | not) | .id')
85+ # # Extract version IDs that do NOT have any buildcache-* tags (buildcache-amd64, buildcache-arm64, etc.)
86+ # ids_to_delete=$(echo "$versions" | jq -r '.[] | select(.metadata.container.tags | map(test("^buildcache-")) | any | not) | .id')
7587
76- # Delete them
77- for id in $ids_to_delete; do
78- echo "Deleting old cache version ID: $id"
79- gh api -X DELETE "orgs/elementsinteractive/packages/container/twyn/versions/$id"
80- done
88+ # # Delete them
89+ # for id in $ids_to_delete; do
90+ # echo "Deleting old cache version ID: $id"
91+ # gh api -X DELETE "orgs/elementsinteractive/packages/container/twyn/versions/$id"
92+ # done
8193
8294 release_notes :
8395 runs-on : ubuntu-latest
0 commit comments