Skip to content

Commit 71d3b7e

Browse files
committed
test quay login
1 parent b14979c commit 71d3b7e

File tree

1 file changed

+1
-174
lines changed

1 file changed

+1
-174
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 174 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,7 @@ name: CI
33
on:
44
push:
55
branches:
6-
- main
7-
tags:
8-
- "v[0-9]+.[0-9]+.[0-9]+"
9-
pull_request:
10-
branches:
11-
- main
6+
- chore/test-quay
127

138
env:
149
DOCKER_PLATFORMS: "linux/arm/v5,linux/arm/v6,linux/arm/v7,linux/arm64,linux/amd64,linux/ppc64le,linux/s390x,linux/mips64le,linux/386,linux/riscv64"
@@ -21,26 +16,6 @@ permissions:
2116
contents: read
2217

2318
jobs:
24-
unit-tests:
25-
name: Unit Tests
26-
runs-on: ubuntu-24.04
27-
steps:
28-
- name: Checkout Repository
29-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
30-
31-
- name: Setup Golang Environment
32-
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
33-
with:
34-
go-version: stable
35-
36-
- name: Run Tests
37-
run: make test
38-
39-
- name: Upload coverage reports to Codecov
40-
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
41-
with:
42-
token: ${{ secrets.CODECOV_TOKEN }}
43-
4419
build-docker:
4520
name: Build Docker Image
4621
runs-on: ubuntu-24.04
@@ -50,7 +25,6 @@ jobs:
5025
id-token: write # for OIDC login to AWS ECR and goreleaser/goreleaser-action to sign artifacts
5126
packages: write # for docker/build-push-action to push to GHCR
5227
issues: write # for goreleaser/goreleaser-action to close milestones
53-
needs: unit-tests
5428
services:
5529
registry:
5630
image: registry:3
@@ -67,156 +41,9 @@ jobs:
6741
with:
6842
go-version: stable
6943

70-
- name: Setup QEMU
71-
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
72-
73-
- name: Docker Buildx
74-
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
75-
with:
76-
version: latest
77-
driver-opts: network=host
78-
79-
- name: DockerHub Login
80-
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
81-
with:
82-
username: ${{ secrets.DOCKER_USERNAME }}
83-
password: ${{ secrets.DOCKER_PASSWORD }}
84-
if: github.event_name != 'pull_request'
85-
86-
- name: Login to GitHub Container Registry
87-
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
88-
with:
89-
registry: ghcr.io
90-
username: ${{ github.repository_owner }}
91-
password: ${{ secrets.GITHUB_TOKEN }}
92-
if: github.event_name != 'pull_request'
93-
94-
- name: Configure AWS Credentials
95-
uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1
96-
with:
97-
aws-region: us-east-1
98-
role-to-assume: ${{ secrets.AWS_ROLE_PUBLIC_ECR }}
99-
if: github.event_name != 'pull_request'
100-
101-
- name: Login to Public ECR
102-
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
103-
with:
104-
registry: public.ecr.aws
105-
if: github.event_name != 'pull_request'
106-
10744
- name: Login to Quay.io
10845
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
10946
with:
11047
registry: quay.io
11148
username: ${{ secrets.QUAY_USERNAME }}
11249
password: ${{ secrets.QUAY_ROBOT_TOKEN }}
113-
if: github.event_name != 'pull_request'
114-
115-
- name: Docker meta
116-
id: meta
117-
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
118-
with:
119-
images: |
120-
name=nginx/nginx-prometheus-exporter,enable=${{ github.event_name != 'pull_request' }}
121-
name=ghcr.io/nginx/nginx-prometheus-exporter,enable=${{ github.event_name != 'pull_request' }}
122-
name=public.ecr.aws/nginx/nginx-prometheus-exporter,enable=${{ github.event_name != 'pull_request' }}
123-
name=quay.io/nginx/nginx-prometheus-exporter,enable=${{ github.event_name != 'pull_request' }}
124-
name=localhost:5000/nginx/nginx-prometheus-exporter
125-
tags: |
126-
type=edge
127-
type=ref,event=pr
128-
type=schedule
129-
type=semver,pattern={{version}}
130-
type=semver,pattern={{major}}
131-
type=semver,pattern={{major}}.{{minor}}
132-
labels: |
133-
org.opencontainers.image.vendor=NGINX Inc <[email protected]>
134-
env:
135-
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
136-
137-
- name: Create/Update Draft
138-
uses: lucacome/draft-release@00f74370c044c322da6cb52acc707d62c7762c71 # v1.2.4
139-
with:
140-
minor-label: "enhancement"
141-
major-label: "change"
142-
publish: ${{ github.ref_type == 'tag' }}
143-
collapse-after: 30
144-
notes-footer: |
145-
## Upgrade
146-
147-
- Use the {{version}} image from our [DockerHub](https://hub.docker.com/r/nginx/nginx-prometheus-exporter/tags?page=1&ordering=last_updated&name={{version-number}}), [GitHub Container](https://github.com/nginx/nginx-prometheus-exporter/pkgs/container/nginx-prometheus-exporter), [Amazon ECR Public Gallery](https://gallery.ecr.aws/nginx/nginx-prometheus-exporter) or [Quay.io](https://quay.io/repository/nginx/nginx-prometheus-exporter/tag/{{version-number}}?tab=tags).
148-
- Download the latest binaries from the [GitHub releases page](https://github.com/nginx/nginx-prometheus-exporter/releases/tag/{{version}}).
149-
- Update to the latest version with `brew upgrade nginx-prometheus-exporter`, `snap refresh nginx-prometheus-exporter` or `scoop update nginx-prometheus-exporter`.
150-
151-
## Compatibility
152-
153-
- NGINX 0.1.18 or newer.
154-
- NGINX Plus R19 or newer.
155-
if: github.event_name != 'pull_request'
156-
157-
- name: Download Syft
158-
uses: anchore/sbom-action/download-syft@da167eac915b4e86f08b264dbdbc867b61be6f0c # v0.20.5
159-
if: github.ref_type == 'tag'
160-
161-
- name: Install Cosign
162-
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
163-
if: github.ref_type == 'tag'
164-
165-
- name: Setup Snapcraft
166-
run: |
167-
sudo snap install snapcraft --classic
168-
mkdir -p $HOME/.cache/snapcraft/download
169-
mkdir -p $HOME/.cache/snapcraft/stage-packages
170-
if: github.ref_type == 'tag'
171-
172-
- name: Install Nix
173-
uses: cachix/install-nix-action@c134e4c9e34bac6cab09cf239815f9339aaaf84e # v31
174-
with:
175-
github_access_token: ${{ secrets.GITHUB_TOKEN }}
176-
if: github.ref_type == 'tag'
177-
178-
- name: Run GoReleaser
179-
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6.4.0
180-
with:
181-
version: v2.11.2 # renovate: datasource=github-tags depName=goreleaser/goreleaser
182-
args: ${{ github.ref_type == 'tag' && 'release' || 'build --snapshot' }} --clean
183-
env:
184-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
185-
NGINX_GITHUB_TOKEN: ${{ secrets.NGINX_PAT }}
186-
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_LOGIN }}
187-
188-
- name: Print NGINX Prometheus Exporter info
189-
run: ./dist/nginx-prometheus-exporter_linux_amd64_v1/nginx-prometheus-exporter --version
190-
continue-on-error: true
191-
192-
- name: Build and Push Docker Image
193-
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
194-
with:
195-
file: build/Dockerfile
196-
context: "."
197-
target: goreleaser
198-
platforms: ${{ env.DOCKER_PLATFORMS }}
199-
tags: ${{ steps.meta.outputs.tags }}
200-
labels: ${{ steps.meta.outputs.labels }}
201-
annotations: ${{ steps.meta.outputs.annotations }}
202-
push: true
203-
cache-from: type=gha,scope=exporter
204-
cache-to: type=gha,scope=exporter,mode=max
205-
no-cache: ${{ github.event_name != 'pull_request' }}
206-
provenance: mode=max
207-
sbom: true
208-
209-
- name: Scan image
210-
uses: anchore/scan-action@1638637db639e0ade3258b51db49a9a137574c3e # v6.5.1
211-
id: scan
212-
continue-on-error: true
213-
with:
214-
image: localhost:5000/nginx/nginx-prometheus-exporter:${{ steps.meta.outputs.version }}
215-
only-fixed: true
216-
add-cpes-if-none: true
217-
218-
- name: Upload scan result to GitHub Security tab
219-
uses: github/codeql-action/upload-sarif@2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d # v3.30.0
220-
continue-on-error: true
221-
with:
222-
sarif_file: ${{ steps.scan.outputs.sarif }}

0 commit comments

Comments
 (0)