Skip to content

chore: Update Sentry DSN #295

chore: Update Sentry DSN

chore: Update Sentry DSN #295

Workflow file for this run

name: Release
on:
push:
branches:
- develop
- main
jobs:
quick-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: 'npm'
node-version: '18'
- name: set version
run: |
export OLDVERSION=$(npm view @ubud-app/server@next version)
jq -M ".version=\"$OLDVERSION\"" package.json > package.new.json
rm -f package.json
mv package.new.json package.json
- name: install dependencies
run: npm ci
- name: run checks
run: npm run check
generate-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: 'npm'
node-version: '18'
- run: npm ci
- name: set version
run: |
mkdir ./artifact
node ./.github/workflows/get-version.js
echo "$(jq ".version = \"$(cat ./version)\"" package.json )" > ./artifact/package.json
echo "$(jq ".version = \"$(cat ./version)\"" package-lock.json )" > ./artifact/package-lock.json
rm -f ./version
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
- uses: actions/upload-artifact@v1
with:
name: version
path: ./artifact
build-containers:
runs-on: ubuntu-latest
needs: [quick-check, generate-version]
strategy:
matrix:
image: [x86_64, arm64, aarch64, amd64, armhf, i386]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: version
path: version
- name: πŸ” Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: docker.pkg.github.com
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: πŸ” Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: prepare, build & test
run: |
docker pull multiarch/qemu-user-static:register
docker run --rm --privileged multiarch/qemu-user-static:register --reset
VERSION=$(cat ./version/release.json| jq .version -r)
BRANCH=$(git rev-parse --abbrev-ref HEAD)
mv -f ./version/package.json ./
mv -f ./version/package-lock.json ./
rm -rf ./version
echo "------"
echo "Version: ${VERSION}"
echo "Branch: ${GITHUB_REF#refs/heads/}"
echo "Flavour: ${{ matrix.image }}"
echo "Client Channel: ${CLIENT_TAG}"
echo "------"
if [[ "${BRANCH}" == "main" ]]
then
CLIENT_TAG="latest"
DOCKER_TAG="latest"
NEXT=""
else
CLIENT_TAG="next"
DOCKER_TAG="next"
NEXT="1"
fi
docker pull "multiarch/alpine:${{ matrix.image }}-latest-stable"
docker pull "ubud/server:next-${{ matrix.image }}-base" || true
docker pull "ubud/server:next-${{ matrix.image }}" || true
docker build \
--target build-container \
--build-arg BASEIMAGE="multiarch/alpine:${{ matrix.image }}-latest-stable" \
--build-arg NODE_ENV="production" \
--build-arg CLIENT_TAG="${CLIENT_TAG}" \
--build-arg NEXT="${NEXT}" \
--cache-from "ubud/server:next-${{ matrix.image }}-base" \
-t "ubud/server:${VERSION}-${{ matrix.image }}-base" .
docker build \
--build-arg BASEIMAGE="multiarch/alpine:${{ matrix.image }}-latest-stable" \
--build-arg NODE_ENV="production" \
--build-arg CLIENT_TAG="${CLIENT_TAG}" \
--build-arg NEXT="${NEXT}" \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
--build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VERSION="${VERSION}" \
--cache-from "ubud/server:next-${{ matrix.image }}-base" \
--cache-from "ubud/server:next-${{ matrix.image }}" \
-t "ubud/server:${VERSION}-${{ matrix.image }}" .
docker tag "ubud/server:${VERSION}-${{ matrix.image }}" "ubud/server:${DOCKER_TAG}-${{ matrix.image }}"
docker tag "ubud/server:${VERSION}-${{ matrix.image }}-base" "ubud/server:${DOCKER_TAG}-${{ matrix.image }}-base"
docker tag "ubud/server:${VERSION}-${{ matrix.image }}" "docker.pkg.github.com/ubud-app/server/${{ matrix.image }}:${VERSION}"
docker tag "ubud/server:${VERSION}-${{ matrix.image }}" "docker.pkg.github.com/ubud-app/server/${{ matrix.image }}:${DOCKER_TAG}"
docker push "ubud/server:${VERSION}-${{ matrix.image }}"
docker push "ubud/server:${DOCKER_TAG}-${{ matrix.image }}"
docker push "ubud/server:${DOCKER_TAG}-${{ matrix.image }}-base"
docker push "docker.pkg.github.com/ubud-app/server/${{ matrix.image }}:${VERSION}"
docker push "docker.pkg.github.com/ubud-app/server/${{ matrix.image }}:${DOCKER_TAG}"
env:
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
release:
runs-on: ubuntu-latest
needs: [build-containers]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
cache: 'npm'
node-version: '18'
- uses: actions/download-artifact@v3
with:
name: version
path: version
- name: install dependencies
run: npm ci
- name: install sentry cli
run: npm install -g @sentry/cli
- name: πŸ” Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: docker.pkg.github.com
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: πŸ” Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: semantic-release
run: BRANCH=${GITHUB_REF#refs/heads/} npx semantic-release
env:
DOCKER_CLI_EXPERIMENTAL: enabled
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: ubud
SENTRY_PROJECT: server
SENTRY_URL: ${{ secrets.SENTRY_URL }}
NOTIFY_WEBHOOK_SECRET: ${{ secrets.NOTIFY_WEBHOOK_SECRET }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
MICROBADGER_WEBHOOK_SECRET: ${{ secrets.MICROBADGER_WEBHOOK_SECRET }}
- name: update develop
if: ${{ github.ref == 'ref/head/main' }}
uses: everlytic/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
source_ref: 'main'
target_branch: 'develop'
commit_message_template: 'Merge branch {source_ref} into {target_branch} [skip ci]'