chore: pre-commit autoupdate (#406) #1451
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: tox | |
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
branches: | |
- "main" | |
release: | |
types: [published] | |
schedule: | |
- cron: "0 0 * * *" | |
workflow_call: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
tox: | |
uses: ansible/team-devtools/.github/workflows/tox.yml@main | |
with: | |
run_pre: ./tools/test-setup.sh | |
other_names_also: | | |
devspaces | |
secrets: inherit # needed for logging to the ghcr.io registry | |
build-image: | |
runs-on: ${{ matrix.builder }} | |
name: ${{ matrix.name }} | |
# uses same runner for image building, but devspace image builds faster | |
services: | |
registry: | |
image: registry:2 | |
ports: | |
- 5000:5000 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- builder: devtools-multiarch-builder | |
platform: linux/amd64 | |
name: amd64 | |
- builder: ubuntu-24.04-arm64-2core | |
# devtools-arm64-runner | |
platform: linux/arm64 | |
name: arm64 | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup runner | |
run: | | |
./tools/test-setup.sh | |
sudo ./final/docker-prune.sh | |
- name: Build the container image for ${{ matrix.platform }} and test it | |
uses: ./.github/actions/build-test | |
# this needs to be passed only when on release pipeline: | |
with: | |
registry: ghcr.io | |
push: ${{ github.event_name == 'release' && github.event.action == 'published' }} | |
publish-image: | |
environment: release # approval | |
runs-on: ubuntu-latest | |
needs: | |
- build-image | |
- tox | |
if: github.event_name == 'release' && github.event.action == 'published' | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Push final manifest to ghcr.io | |
uses: ./.github/actions/merge-release | |
with: | |
registry: ghcr.io | |
publish-devspaces: | |
runs-on: ubuntu-24.04 | |
needs: | |
- build-image | |
- tox | |
if: github.event_name == 'release' && github.event.action == 'published' | |
steps: | |
- name: Push image to ghcr.io as ${{ github.event.release.tag_name }} | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "$GITHUB_ACTOR" --password-stdin | |
docker pull "ghcr.io/ansible/ansible-devspaces-tmp:${GITHUB_SHA}" | |
docker tag "ghcr.io/ansible/ansible-devspaces-tmp:${GITHUB_SHA}" "ghcr.io/ansible/ansible-workspace-env-reference-image:${{ github.event.release.tag_name }}" | |
docker push "ghcr.io/ansible/ansible-devspaces-tmp:${{ github.event.release.tag_name }}" | |
pypi: | |
name: Publish to PyPI registry | |
needs: | |
- build-image | |
- tox | |
if: github.event_name == 'release' && github.event.action == 'published' | |
environment: release # approval | |
runs-on: ubuntu-24.04 | |
permissions: | |
id-token: write | |
env: | |
FORCE_COLOR: 1 | |
PY_COLORS: 1 | |
TOXENV: pkg | |
steps: | |
- name: Switch to using Python 3.10 by default | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Install tox | |
run: python3 -m pip install --user "tox>=4.0.0" | |
- name: Check out src from Git | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # needed by setuptools-scm | |
submodules: true | |
- name: Build dists | |
run: python3 -m tox | |
- name: Publish to pypi.org | |
if: >- # "create" workflows run separately from "push" & "pull_request" | |
github.event_name == 'release' | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
forum_post: | |
if: github.event_name == 'release' && github.event.action == 'published' | |
needs: | |
- pypi | |
- publish-image | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Retreive the forum post script from team-devtools | |
run: curl -O https://raw.githubusercontent.com/ansible/team-devtools/main/.github/workflows/forum_post.py | |
- name: Run the forum post script | |
run: python3 forum_post.py ${{ github.event.repository.full_name }} ${{ github.event.release.tag_name }} ${{ secrets.FORUM_KEY }} ${{ secrets.FORUM_USER }} |