Skip to content

Docker tags update - 7 #32

Docker tags update - 7

Docker tags update - 7 #32

# This is a basic workflow to help you get started with Actions
name: docker-image-push-admin
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
# Mukul:
# I've added a local test branch on my system and using it for testing image push.
# So, for testing purposes, need to checkout a branch "image-push-merge"
# TODO: Need to change to build off master or main once it looks good.
branches: [ tags-matrix ]
workflow_dispatch:
inputs:
docker_image_tag:
description: "Latest Docker image tags passed from e-mission-server repository on image build and push"
required: true
# Env variable
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
DOCKER_IMAGE_TAG: ${{ github.event.inputs.docker_image_tag }}
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
fetch_tag:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Print input docker image tag
run: |
echo "Event name: ${{ github.event_name }}"
echo "Event name: ${{ github.event.action }}"
echo "Input latest docker image tag: ${{ env.DOCKER_IMAGE_TAG }}"
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install argparse
- name: Run Python script
id: run_script
run: |
echo "Running script to replace docker image tags in Dockerfiles"
python .github/replaceTags.py --file=docker/Dockerfile --tag=${{ env.DOCKER_IMAGE_TAG }}
python .github/replaceTags.py --file=Dockerfile --tag=${{ env.DOCKER_IMAGE_TAG }}
- name: Add, Commit, Push changes
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add docker/Dockerfile Dockerfile
git commit -m "Updated docker image tags in Dockerfiles to the latest timestamp: ${{ env.DOCKER_IMAGE_TAG }}"
git push origin
# This workflow contains a single job called "build"
build:
needs: fetch_tag
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: docker login
run: | # log into docker hub account
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Get current date # get the date of the build
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d--%M-%S')"
#Runs a single command using the runners shell
- name: Run a one-line script
run: echo running in repo ${GITHUB_REPOSITORY#*/} branch ${GITHUB_REF##*/} on ${{ steps.date.outputs.date }}
# Runs a set of commands using the runners shell
# - name: build docker image
# run: |
# docker build -t $DOCKER_USER/${GITHUB_REPOSITORY#*/}:${GITHUB_REF##*/}_${{ steps.date.outputs.date }} .
# docker images
# - name: push docker image
# run: |
# docker push $DOCKER_USER/${GITHUB_REPOSITORY#*/}:${GITHUB_REF##*/}_${{ steps.date.outputs.date }}