viewer upgraded to 0.3.5 #107
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 | |
on: | |
push: | |
branches: | |
- main | |
tags: [v*] | |
paths-ignore: | |
- README.md | |
- CHANGELOG.md | |
- LICENSE | |
pull_request: | |
# Sequence of patterns matched against refs/heads | |
branches: | |
- main | |
paths-ignore: | |
- README.md | |
- CHANGELOG.md | |
- LICENSE | |
env: | |
IMAGE_NAME: 'controller' | |
jobs: | |
Build: | |
runs-on: ubuntu-22.04 | |
permissions: | |
actions: write | |
checks: write | |
contents: write | |
deployments: write | |
id-token: write | |
issues: write | |
discussions: write | |
packages: write | |
pages: write | |
pull-requests: write | |
repository-projects: write | |
security-events: write | |
statuses: write | |
name: Preflight | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Replace values | |
shell: bash | |
env: | |
PAT: ${{ secrets.PAT }} | |
run: | | |
sed -i.back "s|PAT|${PAT}|g" .npmrc | |
- run: npm config set @datasance:registry https://npm.pkg.github.com/ | |
- run: npm install --build-from-source --force | |
- run: npm run standard | |
- run: | | |
npm i -g better-npm-audit | |
npx better-npm-audit audit -p | |
Publish: | |
needs: [Build] | |
runs-on: ubuntu-22.04 | |
permissions: | |
actions: write | |
checks: write | |
contents: write | |
deployments: write | |
id-token: write | |
issues: write | |
discussions: write | |
packages: write | |
pages: write | |
pull-requests: write | |
repository-projects: write | |
security-events: write | |
statuses: write | |
name: Publish Controller | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Replace values | |
shell: bash | |
env: | |
PAT: ${{ secrets.PAT }} | |
run: | | |
sed -i.back "s|PAT|${PAT}|g" .npmrc | |
- run: npm config set @datasance:registry https://npm.pkg.github.com/ | |
- run: npm install --build-from-source --force | |
- name: npm version | |
id: package-version | |
uses: martinbeentjes/npm-get-version-action@v1.3.1 | |
- name: package version | |
shell: bash | |
id: version | |
run: | | |
if [[ ${{ github.ref_name }} =~ ^v.* ]] ; then | |
echo "pkg_version=${{ steps.package-version.outputs.current-version}}" >> "${GITHUB_OUTPUT}" | |
else | |
echo "pkg_version=${{ steps.package-version.outputs.current-version}}-${{ github.run_number }}" >> "${GITHUB_OUTPUT}" | |
fi | |
- name: npm pack with version from package version | |
run: | | |
npm pack | |
npm publish --registry=https://npm.pkg.github.com/ | |
- name: 'Get Previous tag' | |
id: previoustag | |
uses: "WyriHaximus/github-action-get-previous-tag@v1" | |
with: | |
fallback: 0.0.0 | |
- name: Set image tag | |
shell: bash | |
id: tags | |
run: | | |
if [[ ${{ github.ref_name }} =~ ^v.* ]] ; then | |
VERSION=${{ github.ref_name }} | |
echo "VERSION=${VERSION:1}" >> "${GITHUB_OUTPUT}" | |
else | |
VERSION=${{ steps.previoustag.outputs.tag }} | |
echo "VERSION=${VERSION:1}-${{ github.run_number }}" >> "${GITHUB_OUTPUT}" | |
fi | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Github Container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: "ghcr.io" | |
username: ${{ github.actor }} | |
password: ${{ secrets.PAT }} | |
- name: Build and Push to ghcr | |
uses: docker/build-push-action@v3 | |
id: build_push_ghcr | |
with: | |
file: Dockerfile.dev | |
context: . | |
platforms: linux/amd64, linux/arm64 | |
push: true | |
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Controller | |
build-args: GITHUB_TOKEN=${{ secrets.PAT }} | |
tags: | | |
ghcr.io/datasance/${{ env.IMAGE_NAME }}:${{ steps.tags.outputs.VERSION }} | |
ghcr.io/datasance/${{ env.IMAGE_NAME }}:latest | |
ghcr.io/datasance/${{ env.IMAGE_NAME }}:main |