Skip to content

Add "delete obsolete signatures" feature #177

Add "delete obsolete signatures" feature

Add "delete obsolete signatures" feature #177

Workflow file for this run

name: tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
concurrency: testing
permissions:
contents: read
packages: write
# Required by nested `reusable.yml`.
id-token: write
jobs:
reset:
name: Reset to a clean state
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./
with:
token: ${{ secrets.PAT_TOKEN }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
untagged_only: false
owner_type: user
add_temp_pkgs1:
name: Add temporary packages for testing
needs: reset
strategy:
matrix:
image: ['p1', 'p2', 'p3']
tag: [1, 2]
uses: ./.github/workflows/reusable.yml
with:
image: ${{ matrix.image }}
tag: ${{ matrix.tag }}
add_temp_pkgs2:
name: Add temporary packages for testing make the first untagged
needs: add_temp_pkgs1
strategy:
matrix:
image: ['p1', 'p2', 'p3']
tag: [1, 2]
uses: ./.github/workflows/reusable.yml
with:
image: ${{ matrix.image }}
tag: ${{ matrix.tag }}
multiplatform: true
clean_untagged_pkgs1:
name: Clean untagged packages
runs-on: ubuntu-latest
needs: add_temp_pkgs2
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: ./
id: deleted-action
with:
token: ${{ secrets.PAT_TOKEN }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
untagged_only: true
owner_type: user
except_untagged_multiplatform: true
- shell: bash
run: |
if [[ "${{ steps.deleted-action.outputs.num_deleted }}" != 18 ]]; then
exit 1
fi
clean_untagged_pkgs2:
name: Clean untagged packages
runs-on: ubuntu-latest
needs: clean_untagged_pkgs1
steps:
- uses: actions/checkout@v4
- uses: ./
id: deleted-action
with:
token: ${{ secrets.PAT_TOKEN }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
untagged_only: true
owner_type: user
except_untagged_multiplatform: false
- shell: bash
run: |
if [[ "${{ steps.deleted-action.outputs.num_deleted }}" != 24 ]]; then
exit 1
fi
delete_package:
name: Delete package
runs-on: ubuntu-latest
needs: clean_untagged_pkgs2
steps:
- uses: actions/checkout@v4
- uses: ./
id: deleted-action
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
package_name: p1
untagged_only: false
owner_type: user
- shell: bash
run: |
if [[ "${{ steps.deleted-action.outputs.num_deleted }}" != 1 ]]; then
exit 1
fi
delete_multiple_packages:
name: Delete multiple packages
runs-on: ubuntu-latest
needs: clean_untagged_pkgs2
steps:
- uses: actions/checkout@v4
- uses: ./
id: deleted-action
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
package_name: p2, p3
untagged_only: false
owner_type: user
- shell: bash
run: |
if [[ "${{ steps.deleted-action.outputs.num_deleted }}" != 2 ]]; then
exit 1
fi
clean_repo:
name: Delete all packages in repo
runs-on: ubuntu-latest
needs:
- delete_package
- delete_multiple_packages
steps:
- uses: actions/checkout@v4
- uses: ./
id: deleted-action
with:
token: ${{ secrets.PAT_TOKEN }}
repository_owner: ${{ github.repository_owner }}
repository: ${{ github.repository }}
untagged_only: false
owner_type: user
- shell: bash
run: |
if [[ "${{ steps.deleted-action.outputs.num_deleted }}" != 0 ]]; then
exit 1
fi