Cleanup
diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml
deleted file mode 100644
index 792ca65..0000000
--- a/.github/workflows/linters.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-name: linters
-on:
-  pull_request: {}
-  push:
-    branches:
-    - main
-
-jobs:
-  verify-github-workflows:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout@v3.0.2
-    - run: ./hack/generate-github-workflows
-    - run: git diff --exit-code
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 9c0bc87..e608af3 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -23,16 +23,16 @@
       fail-fast: false
       matrix: ${{ fromJSON(needs.build-matrix.outputs.matrix) }}
     steps:
-      - uses: actions/checkout@v3
-      - uses: docker/setup-qemu-action@v2
-      - uses: docker/setup-buildx-action@v2
+      - uses: actions/checkout@v3.0.2
+      - uses: docker/setup-qemu-action@v2.0.0
+      - uses: docker/setup-buildx-action@v2.0.0
       - run: ./ci/openstack-image-build-env ${{ matrix.project }} ${{ matrix.release }} >> $GITHUB_ENV
-      - uses: docker/login-action@v2
+      - uses: docker/login-action@v2.0.0
         with:
           registry: quay.io
           username: ${{ secrets.QUAY_USERNAME }}
           password: ${{ secrets.QUAY_ROBOT_TOKEN }}
-      - uses: docker/build-push-action@v3
+      - uses: docker/build-push-action@v3.1.1
         with:
           context: images/openstack
           cache-from: type=gha,scope=${{ matrix.project }}-${{ matrix.release }}
@@ -62,7 +62,7 @@
       matrix: ${{ fromJSON(needs.build-matrix.outputs.matrix) }}
     steps:
       - run: ./ci/openstack-image-build-env ${{ matrix.project }} ${{ matrix.release }} >> $GITHUB_ENV
-      - uses: docker/login-action@v2
+      - uses: docker/login-action@v2.0.0
         with:
           registry: quay.io
           username: ${{ secrets.QUAY_USERNAME }}