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 }}