3.2.27 #80
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: 'CI+CD' | |
on: | |
release: | |
types: [published] | |
workflow_dispatch: | |
inputs: | |
TAG_NAME: | |
description: 'Release Version Tag (0.0.0)' | |
required: true | |
jobs: | |
build: | |
name: 'Build & Publish' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
with: | |
ref: ${{ github.ref }} | |
- name: Update Package to Release version | |
uses: technote-space/[email protected] | |
- name: Check NPM secret presence | |
id: checksecrets | |
shell: bash | |
run: | | |
if [ "$SECRET" == "" ]; then | |
echo "secretspresent=false" >> $GITHUB_OUTPUT | |
else | |
echo "secretspresent=true" >> $GITHUB_OUTPUT | |
fi | |
env: | |
SECRET: ${{ secrets.NPM_TOKEN }} | |
- uses: actions/[email protected] | |
if: ${{ steps.checksecrets.outputs.secretspresent }} | |
with: | |
node-version: 18 | |
- name: Publish to NPM | |
if: ${{ steps.checksecrets.outputs.secretspresent }} | |
continue-on-error: true | |
run: | | |
npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN} | |
npm install | |
npm publish --access public | |
env: | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
node: | |
name: 'Build & Publish Node' | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/[email protected] | |
with: | |
ref: ${{ github.ref }} | |
- name: Update Package to Release version | |
uses: technote-space/[email protected] | |
- name: Check Docker secret presence | |
id: checkdocker | |
shell: bash | |
run: | | |
if [ "$SECRET" == "" ]; then | |
echo "secretspresent=false" >> $GITHUB_OUTPUT | |
else | |
echo "secretspresent=true" >> $GITHUB_OUTPUT | |
fi | |
env: | |
SECRET: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Set up Docker QEMU | |
if: ${{ steps.checkdocker.outputs.secretspresent }} | |
uses: docker/[email protected] | |
with: | |
platforms: amd64, arm64 | |
- name: Set up Docker Buildx | |
if: ${{ steps.checkdocker.outputs.secretspresent }} | |
uses: docker/[email protected] | |
- name: Login to DockerHub | |
if: ${{ steps.checkdocker.outputs.secretspresent }} | |
uses: docker/[email protected] | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push to Docker Hub | |
if: ${{ steps.checkdocker.outputs.secretspresent }} | |
uses: docker/[email protected] | |
with: | |
platforms: linux/amd64, linux/arm64 | |
push: true | |
tags: | | |
qxip/qryn:latest | |
qxip/qryn:${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }} | |
qxip/cloki:latest | |
qxip/cloki:${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }} | |
labels: | | |
dev.qryn.image.title=qryn | |
dev.qryn.image.type=nodejs | |
dev.qryn.image.version={{github.event.inputs.TAG_NAME || github.event.release.tag_name }} | |
- name: Log in to the GHCR registry | |
uses: docker/[email protected] | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push to GHCR | |
uses: docker/[email protected] | |
with: | |
platforms: linux/amd64, linux/arm64 | |
file: ./Dockerfile | |
push: true | |
tags: | | |
ghcr.io/metrico/qryn:latest | |
ghcr.io/metrico/qryn:${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }} | |
labels: | | |
dev.qryn.image.title=qryn | |
dev.qryn.image.type=nodejs | |
dev.qryn.image.version={{github.event.inputs.TAG_NAME || github.event.release.tag_name }} | |
bun: | |
name: 'Build & Publish Bun' | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: actions/[email protected] | |
with: | |
ref: ${{ github.ref }} | |
- name: Update Package to Release version | |
uses: technote-space/[email protected] | |
- name: Check Docker secret presence | |
id: checkdocker | |
shell: bash | |
run: | | |
if [ "$SECRET" == "" ]; then | |
echo "secretspresent=false" >> $GITHUB_OUTPUT | |
else | |
echo "secretspresent=true" >> $GITHUB_OUTPUT | |
fi | |
env: | |
SECRET: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Set up Docker QEMU | |
if: ${{ steps.checkdocker.outputs.secretspresent }} | |
uses: docker/[email protected] | |
with: | |
platforms: amd64, arm64 | |
- name: Set up Docker Buildx | |
if: ${{ steps.checkdocker.outputs.secretspresent }} | |
uses: docker/[email protected] | |
- name: Login to DockerHub | |
if: ${{ steps.checkdocker.outputs.secretspresent }} | |
uses: docker/[email protected] | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push to Docker Hub (bun) | |
if: ${{ steps.checkdocker.outputs.secretspresent }} | |
uses: docker/[email protected] | |
with: | |
platforms: linux/amd64, linux/arm64 | |
file: ./Dockerfile_bun | |
push: true | |
tags: | | |
qxip/qryn:bun | |
qxip/qryn:${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }}-bun | |
labels: | | |
dev.qryn.image.title=qryn | |
dev.qryn.image.type=bun | |
dev.qryn.image.version={{github.event.inputs.TAG_NAME || github.event.release.tag_name }} | |
- name: Log in to the GHCR registry | |
uses: docker/[email protected] | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push to GHCR (bun) | |
uses: docker/[email protected] | |
with: | |
platforms: linux/amd64, linux/arm64 | |
file: ./Dockerfile_bun | |
push: true | |
tags: | | |
ghcr.io/metrico/qryn:bun | |
ghcr.io/metrico/qryn:${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }}-bun | |
labels: | | |
dev.qryn.image.title=qryn | |
dev.qryn.image.type=bun | |
dev.qryn.image.version={{github.event.inputs.TAG_NAME || github.event.release.tag_name }} |