v0.6.10 #55
Workflow file for this run
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: Release | |
on: | |
release: | |
types: [created] | |
jobs: | |
publish-events-cli: | |
name: Publish Events CLI image | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
env: | |
FAROS_DEV_API_URL: https://dev.api.faros.ai | |
FAROS_PROD_API_URL: https://prod.api.faros.ai | |
FAROS_PIPELINE_ID: faros-events-cli-release | |
FAROS_GRAPH: faros | |
steps: | |
- name: Check out | |
uses: actions/checkout@v2.3.4 | |
- name: Set CI start time # https://serverfault.com/a/151112 | |
run: echo "CI_STARTED_AT=$(date +%s%N | cut -b1-13)" >> $GITHUB_ENV | |
# GITHUB_REF looks like: refs/tags/v0.2.5 | |
# ${GITHUB_REF:10} ignores the first 10 characters leaving v0.2.5 | |
- name: Generate image tags | |
id: gen-tags | |
env: | |
EVENTS_CLI_IMAGE: farosai/faros-events-cli | |
COMMIT_SHA: ${{ github.sha }} | |
run: | | |
TAG="${GITHUB_REF:10}" | |
TAG_VERSION="${TAG//v/}" | |
echo "EVENTS_CLI_LATEST_TAG=$EVENTS_CLI_IMAGE:latest" >> "$GITHUB_ENV" | |
echo "EVENTS_CLI_TAG=$EVENTS_CLI_IMAGE:$TAG" >> "$GITHUB_ENV" | |
echo "EVENTS_CLI_VERSION_TAG=$EVENTS_CLI_IMAGE:$TAG_VERSION" >> "$GITHUB_ENV" | |
echo "EVENTS_CLI_COMMIT_SHA_TAG=$EVENTS_CLI_IMAGE:$COMMIT_SHA" >> "$GITHUB_ENV" | |
echo "EVENTS_CLI_ARTIFACT=Docker://$EVENTS_CLI_IMAGE/$TAG_VERSION" >> "$GITHUB_ENV" | |
- name: Docker login | |
uses: docker/login-action@v1.10.0 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Publish Events CLI image | |
run: | | |
docker build . -t $EVENTS_CLI_LATEST_TAG \ | |
-t $EVENTS_CLI_TAG \ | |
-t $EVENTS_CLI_VERSION_TAG \ | |
-t $EVENTS_CLI_COMMIT_SHA_TAG \ | |
--label "faros-build-id=$GITHUB_RUN_ID" \ | |
--label "faros-ci-pipeline=$FAROS_PIPELINE_ID" \ | |
--label "faros-ci-org=faros-ai" \ | |
--label "faros-ci-source=GitHub" \ | |
--label "faros-commit-sha=$GITHUB_SHA" \ | |
--label "faros-vcs-repo=faros-events-cli" \ | |
--label "faros-vcs-org=faros-ai" \ | |
--label "faros-vcs-source=GitHub" && \ | |
docker push $EVENTS_CLI_LATEST_TAG && \ | |
docker push $EVENTS_CLI_COMMIT_SHA_TAG && \ | |
docker push $EVENTS_CLI_TAG && \ | |
docker push $EVENTS_CLI_VERSION_TAG | |
- name: Set CI end time | |
run: echo "CI_ENDED_AT=$(date +%s%N | cut -b1-13)" >> $GITHUB_ENV | |
- name: Set run status | |
run: | | |
if [[ ${{ job.status }} == success ]]; then | |
echo "FAROS_RUN_STATUS=Success" >> $GITHUB_ENV | |
else | |
echo "FAROS_RUN_STATUS=Failed" >> $GITHUB_ENV | |
fi | |
- name: Send CI event to Faros - prod | |
if: ${{ always() }} | |
run: | | |
./faros_event.sh CI -k ${{ secrets.HEPHAESTUS_PROD_FAROS_API_KEY }} \ | |
-u ${{ env.FAROS_PROD_API_URL }} \ | |
-g ${{ env.FAROS_GRAPH }} \ | |
--artifact ${{ env.EVENTS_CLI_ARTIFACT }} \ | |
--commit GitHub://faros-ai/faros-events-cli/${{ github.sha }} \ | |
--run GitHub://faros-ai/${{ env.FAROS_PIPELINE_ID }}/$GITHUB_RUN_ID \ | |
--run_status ${{ env.FAROS_RUN_STATUS }} \ | |
--run_status_details ${{ job.status }} \ | |
--run_start_time ${{ env.CI_STARTED_AT }} \ | |
--run_end_time ${{ env.CI_ENDED_AT }} | |
- name: Send CI event to Faros - dev | |
if: ${{ always() }} | |
run: | | |
./faros_event.sh CI -k ${{ secrets.HEPHAESTUS_DEV_FAROS_API_KEY }} \ | |
-u ${{ env.FAROS_DEV_API_URL }} \ | |
-g ${{ env.FAROS_GRAPH }} \ | |
--artifact ${{ env.EVENTS_CLI_ARTIFACT }} \ | |
--commit GitHub://faros-ai/faros-events-cli/${{ github.sha }} \ | |
--run GitHub://faros-ai/${{ env.FAROS_PIPELINE_ID }}/$GITHUB_RUN_ID \ | |
--run_status ${{ env.FAROS_RUN_STATUS }} \ | |
--run_status_details ${{ job.status }} \ | |
--run_start_time ${{ env.CI_STARTED_AT }} \ | |
--run_end_time ${{ env.CI_ENDED_AT }} | |
- name: Send CD event to Faros - prod | |
if: ${{ always() }} | |
run: | | |
./faros_event.sh CD -k ${{ secrets.HEPHAESTUS_PROD_FAROS_API_KEY }} \ | |
-u ${{ env.FAROS_PROD_API_URL }} \ | |
-g ${{ env.FAROS_GRAPH }} \ | |
--artifact ${{ env.EVENTS_CLI_ARTIFACT }} \ | |
--deploy GitHub://faros-events-cli/Prod/$GITHUB_RUN_ID \ | |
--deploy_status ${{ env.FAROS_RUN_STATUS }} \ | |
--deploy_start_time ${{ env.CI_ENDED_AT }} \ | |
--deploy_end_time ${{ env.CI_ENDED_AT }} \ | |
--run GitHub://faros-ai/${{ env.FAROS_PIPELINE_ID }}/$GITHUB_RUN_ID \ | |
--run_status ${{ env.FAROS_RUN_STATUS }} \ | |
--run_status_details ${{ job.status }} \ | |
--run_start_time ${{ env.CI_STARTED_AT }} \ | |
--run_end_time ${{ env.CI_ENDED_AT }} | |
- name: Send CD event to Faros - dev | |
if: ${{ always() }} | |
run: | | |
./faros_event.sh CD -k ${{ secrets.HEPHAESTUS_DEV_FAROS_API_KEY }} \ | |
-u ${{ env.FAROS_DEV_API_URL }} \ | |
-g ${{ env.FAROS_GRAPH }} \ | |
--artifact ${{ env.EVENTS_CLI_ARTIFACT }} \ | |
--deploy GitHub://faros-events-cli/Prod/$GITHUB_RUN_ID \ | |
--deploy_status ${{ env.FAROS_RUN_STATUS }} \ | |
--deploy_start_time ${{ env.CI_ENDED_AT }} \ | |
--deploy_end_time ${{ env.CI_ENDED_AT }} \ | |
--run GitHub://faros-ai/${{ env.FAROS_PIPELINE_ID }}/$GITHUB_RUN_ID \ | |
--run_status ${{ env.FAROS_RUN_STATUS }} \ | |
--run_status_details ${{ job.status }} \ | |
--run_start_time ${{ env.CI_STARTED_AT }} \ | |
--run_end_time ${{ env.CI_ENDED_AT }} |