feat: Update Sentry DSN #296
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: | |
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]' |