289 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			289 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			YAML
		
	
	
| name: ci
 | |
| 
 | |
| concurrency:
 | |
|   group: ${{ github.workflow }}-${{ github.ref }}
 | |
|   cancel-in-progress: true
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|   schedule:
 | |
|     - cron: '0 10 * * *'
 | |
|   push:
 | |
|     branches:
 | |
|       - 'master'
 | |
|       - 'releases/v*'
 | |
| 
 | |
| jobs:
 | |
|   stop-docker:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Stop docker
 | |
|         run: |
 | |
|           sudo systemctl stop docker          
 | |
|       -
 | |
|         name: Login to GitHub Container Registry
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: ghcr.io
 | |
|           username: ${{ github.actor }}
 | |
|           password: ${{ secrets.GITHUB_TOKEN }}
 | |
| 
 | |
|   logout:
 | |
|     runs-on: ubuntu-latest
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         logout:
 | |
|           - false
 | |
|           - true
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to GitHub Container Registry
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: ghcr.io
 | |
|           username: ${{ github.actor }}
 | |
|           password: ${{ secrets.GITHUB_TOKEN }}
 | |
|           logout: ${{ matrix.logout }}
 | |
| 
 | |
|   dind:
 | |
|     runs-on: ubuntu-latest
 | |
|     env:
 | |
|       DOCKER_CONFIG: $HOME/.docker
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to GitHub Container Registry
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: ghcr.io
 | |
|           username: ${{ secrets.GHCR_USERNAME }}
 | |
|           password: ${{ secrets.GHCR_PAT }}
 | |
|       -
 | |
|         name: DinD
 | |
|         uses: docker://docker
 | |
|         with:
 | |
|           entrypoint: docker
 | |
|           args: pull ghcr.io/docker-ghactiontest/test
 | |
|       -
 | |
|         name: Pull private image
 | |
|         run: |
 | |
|           docker image prune -a -f >/dev/null 2>&1
 | |
|           docker pull ghcr.io/docker-ghactiontest/test          
 | |
| 
 | |
|   acr:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to ACR
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: ${{ secrets.AZURE_REGISTRY_NAME }}.azurecr.io
 | |
|           username: ${{ secrets.AZURE_CLIENT_ID }}
 | |
|           password: ${{ secrets.AZURE_CLIENT_SECRET }}
 | |
| 
 | |
|   dockerhub:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to Docker Hub
 | |
|         uses: ./
 | |
|         with:
 | |
|           username: ${{ secrets.DOCKERHUB_USERNAME }}
 | |
|           password: ${{ secrets.DOCKERHUB_TOKEN }}
 | |
| 
 | |
|   ecr:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to ECR
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: ${{ secrets.AWS_ACCOUNT_NUMBER }}.dkr.ecr.us-east-1.amazonaws.com
 | |
|           username: ${{ secrets.AWS_ACCESS_KEY_ID }}
 | |
|           password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
 | |
| 
 | |
|   ecr-aws-creds:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Configure AWS Credentials
 | |
|         uses: aws-actions/configure-aws-credentials@v4
 | |
|         with:
 | |
|           aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
 | |
|           aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
 | |
|           aws-region: us-east-1
 | |
|       -
 | |
|         name: Login to ECR
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: ${{ secrets.AWS_ACCOUNT_NUMBER }}.dkr.ecr.us-east-1.amazonaws.com
 | |
| 
 | |
|   ecr-public:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to Public ECR
 | |
|         continue-on-error: ${{ matrix.os == 'windows-latest' }}
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: public.ecr.aws
 | |
|           username: ${{ secrets.AWS_ACCESS_KEY_ID }}
 | |
|           password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
 | |
|         env:
 | |
|           AWS_REGION: us-east-1
 | |
| 
 | |
|   ecr-public-aws-creds:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Configure AWS Credentials
 | |
|         uses: aws-actions/configure-aws-credentials@v4
 | |
|         with:
 | |
|           aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
 | |
|           aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
 | |
|           aws-region: us-east-1
 | |
|       -
 | |
|         name: Login to Public ECR
 | |
|         continue-on-error: ${{ matrix.os == 'windows-latest' }}
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: public.ecr.aws
 | |
| 
 | |
|   github-container:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to GitHub Container Registry
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: ghcr.io
 | |
|           username: ${{ github.actor }}
 | |
|           password: ${{ secrets.GITHUB_TOKEN }}
 | |
| 
 | |
|   gitlab:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to GitLab
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: registry.gitlab.com
 | |
|           username: ${{ secrets.GITLAB_USERNAME }}
 | |
|           password: ${{ secrets.GITLAB_TOKEN }}
 | |
| 
 | |
|   google-artifact:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to Google Artifact Registry
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: ${{ secrets.GAR_LOCATION }}-docker.pkg.dev
 | |
|           username: _json_key
 | |
|           password: ${{ secrets.GAR_JSON_KEY }}
 | |
| 
 | |
|   google-container:
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       fail-fast: false
 | |
|       matrix:
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
|           - windows-latest
 | |
|     steps:
 | |
|       -
 | |
|         name: Checkout
 | |
|         uses: actions/checkout@v4
 | |
|       -
 | |
|         name: Login to Google Container Registry
 | |
|         uses: ./
 | |
|         with:
 | |
|           registry: gcr.io
 | |
|           username: _json_key
 | |
|           password: ${{ secrets.GCR_JSON_KEY }}
 |