Build Docker Images of main by @bkiahstroud #71
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Docker Images | |
run-name: Build Docker Images of ${{ github.ref_name }} by @${{ github.actor }} | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
debug_enabled: | |
type: boolean | |
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' | |
required: false | |
default: false | |
env: | |
REGISTRY: ghcr.io | |
DOCKER_BUILDKIT: 1 | |
COMPOSE_DOCKER_CLI_BUILD: 1 | |
jobs: | |
build-api: | |
runs-on: ubuntu-latest | |
steps: | |
- id: setup | |
name: Setup | |
uses: scientist-softserv/actions/[email protected] | |
with: | |
token: ${{ secrets.CHECKOUT_TOKEN || secrets.GITHUB_TOKEN }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup tmate session | |
uses: mxschmitt/action-tmate@v3 | |
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} | |
with: | |
limit-access-to-actor: true | |
- name: Retag action for API | |
id: meta-api | |
uses: docker/[email protected] | |
with: | |
images: | | |
name=${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/api | |
tags: | | |
type=raw,value=latest,enable={{is_default_branch}} | |
- name: Build and push API | |
uses: scientist-softserv/actions/[email protected] | |
with: | |
type: api_rails | |
location: /api | |
subdir: . | |
tags: ${{ steps.meta-api.outputs.tags }} | |
build-client: | |
runs-on: ubuntu-latest | |
steps: | |
- id: setup | |
name: Setup | |
uses: scientist-softserv/actions/[email protected] | |
with: | |
token: ${{ secrets.CHECKOUT_TOKEN || secrets.GITHUB_TOKEN }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup tmate session | |
uses: mxschmitt/action-tmate@v3 | |
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} | |
with: | |
limit-access-to-actor: true | |
- name: Retag action for Client | |
id: meta-client | |
uses: docker/[email protected] | |
with: | |
images: | | |
name=${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/client | |
tags: | | |
type=raw,value=latest,enable={{is_default_branch}} | |
- name: Build and push Client | |
uses: scientist-softserv/actions/[email protected] | |
with: | |
type: client | |
location: /client | |
subdir: . | |
tags: ${{ steps.meta-client.outputs.tags }} | |
build-nginx: | |
runs-on: ubuntu-latest | |
steps: | |
- id: setup | |
name: Setup | |
uses: scientist-softserv/actions/[email protected] | |
with: | |
token: ${{ secrets.CHECKOUT_TOKEN || secrets.GITHUB_TOKEN }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup tmate session | |
uses: mxschmitt/action-tmate@v3 | |
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} | |
with: | |
limit-access-to-actor: true | |
- name: Retag action for Nginx | |
id: meta-nginx | |
uses: docker/[email protected] | |
with: | |
images: | | |
name=${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/nginx | |
tags: | | |
type=raw,value=latest,enable={{is_default_branch}} | |
- name: Build and push Nginx | |
uses: scientist-softserv/actions/[email protected] | |
with: | |
type: nginx | |
location: /nginx | |
subdir: . | |
tags: ${{ steps.meta-nginx.outputs.tags }} |