-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1ff13b2
commit 06e6d6d
Showing
19 changed files
with
413 additions
and
654 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: Build API Image | ||
|
||
on: | ||
push: | ||
tags: | ||
- 'console-api/v*' | ||
|
||
concurrency: | ||
group: ${{ github.workflow }} | ||
|
||
jobs: | ||
build: | ||
name: Build Docker image | ||
uses: ./.github/workflows/build-image.yml | ||
secrets: inherit | ||
with: | ||
tag: ${{ github.event.ref }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
name: Build Image | ||
|
||
on: | ||
workflow_dispatch: | ||
workflow_call: | ||
inputs: | ||
tag: | ||
description: 'Tag to build' | ||
required: true | ||
type: string | ||
|
||
concurrency: | ||
group: ${{ github.workflow }} | ||
|
||
jobs: | ||
build: | ||
name: Build Docker image | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Login to GitHub Container Registry | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build Docker image | ||
run: | | ||
tag=${{ github.event.inputs.tag }} | ||
force_build="" | ||
if [[ "$tag" == console-api/* ]]; then | ||
registry=${{ vars.API_REGISTRY }} | ||
app="api" | ||
elif [[ "$tag" == console-web/* ]]; then | ||
registry=${{ vars.WEB_REGISTRY }} | ||
app="deploy-web" | ||
force_build="-f" | ||
else | ||
echo "Error: Unknown tag format" | ||
exit 1 | ||
fi | ||
tag="${tag#*/}" | ||
tag="${tag#v}" | ||
./packages/docker/script/build.sh -r $registry -t $tag -a $app $force_build |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: Build Console Web Image | ||
|
||
on: | ||
push: | ||
tags: | ||
- 'console-web/v*' | ||
|
||
concurrency: | ||
group: ${{ github.workflow }} | ||
|
||
jobs: | ||
build: | ||
name: Build Docker image | ||
uses: ./.github/workflows/build-image.yml | ||
secrets: inherit | ||
with: | ||
tag: ${{ github.event.ref }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: Create Console API GitHub Release | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- 'apps/api/package.json' | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
release: | ||
name: Create Release Draft | ||
uses: ./.github/workflows/create-github-release.yml | ||
secrets: inherit | ||
with: | ||
app: api |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: Create Console Web GitHub Release | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- 'apps/deploy-web/package.json' | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
release: | ||
name: Create Release Draft | ||
uses: ./.github/workflows/create-github-release.yml | ||
secrets: inherit | ||
with: | ||
app: deploy-web |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
name: Create GitHub Release | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
app: | ||
description: 'The app to release' | ||
required: true | ||
type: string | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.app }} | ||
cancel-in-progress: true | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
release: | ||
name: Create GitHub Release | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Get Version and Changelog Updates | ||
id: bumps | ||
run: | | ||
package_file="apps/${{ inputs.app }}/package.json" | ||
if [ ! -f "$package_file" ]; then | ||
echo "Error: Package file $package_file does not exist." | ||
exit 1 | ||
fi | ||
current_version=$(jq -r '.version' "$package_file") | ||
git_tag=$current_version | ||
if [ "${{ inputs.app }}" = "deploy-web" ]; then | ||
git_tag="console-web/v$git_tag" | ||
elif [ "${{ inputs.app }}" = "api" ]; then | ||
git_tag="console-api/v$git_tag" | ||
else | ||
echo "Error: Unsupported app type '${{ inputs.app }}'." | ||
exit 1 | ||
fi | ||
has_tag=$(git rev-parse "$git_tag" >/dev/null 2>&1 && echo "true" || echo "false") | ||
if [ "$has_tag" = "false" ]; then | ||
echo "version=$git_tag" >> $GITHUB_OUTPUT | ||
echo "version=$git_tag" | ||
changelog=$(script/extract-changelog.sh "$current_version" "apps/${{ inputs.app }}/CHANGELOG.md") | ||
if [ -n "$changelog" ]; then | ||
echo "changelog=$changelog" | ||
echo "changelog<<EOF" >> $GITHUB_OUTPUT | ||
echo "$changelog" >> $GITHUB_OUTPUT | ||
echo "EOF" >> $GITHUB_OUTPUT | ||
fi | ||
fi | ||
- name: Create Release | ||
if: ${{ steps.bumps.outputs.version != '' }} | ||
id: create_release | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ steps.bumps.outputs.version }} | ||
release_name: ${{ steps.bumps.outputs.version }} | ||
body: ${{ steps.bumps.outputs.changelog }} | ||
prerelease: true |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
name: Create Pre-Release PR | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
|
||
jobs: | ||
check-releasability: | ||
name: Check if is Releasable | ||
runs-on: ubuntu-latest | ||
outputs: | ||
is-releasable: ${{ steps.check.outputs.is-releasable }} | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Check if is Releasable | ||
id: check | ||
run: | | ||
last_commit=$(git log -1 --pretty=%B) | ||
if [[ $last_commit == "chore(release): released version"* ]]; then | ||
echo "is-releasable=false" >> $GITHUB_OUTPUT | ||
else | ||
echo "is-releasable=true" >> $GITHUB_OUTPUT | ||
fi | ||
create-pr: | ||
name: Create Pre-Release PR with Updated Changelogs and Versions | ||
needs: check-releasability | ||
if: needs.check-releasability.outputs.is-releasable == 'true' | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
ref: ${{ github.event.pull_request.head.ref }} | ||
|
||
- name: Setup Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20.14.0 | ||
|
||
- name: Restore root node_modules cache | ||
uses: actions/cache@v4 | ||
id: cache | ||
with: | ||
path: | | ||
node_modules | ||
apps/api/node_modules | ||
apps/deploy-web/node_modules | ||
packages/*/node_modules | ||
key: common-${{ runner.os }}-${{ hashFiles('package-lock.json') }} | ||
|
||
- name: Install dependencies | ||
if: steps.cache.outputs.cache-hit != 'true' | ||
run: npm ci -w packages/releaser | ||
|
||
- name: Generate releases and build docker images | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "CI" | ||
npm run release -w apps/api -- --verbose --ci | ||
npm run release -w apps/deploy-web -- --verbose --ci | ||
- name: Cleanup Previous Release Branch | ||
run: | | ||
git branch -D release/bumps || true | ||
- name: Commit and Create PR | ||
uses: peter-evans/create-pull-request@v7 | ||
with: | ||
token: '${{ github.token }}' | ||
branch: release/bumps | ||
base: main | ||
title: "Release bumps" | ||
body: "This is an automated PR to update the changelogs and versions for the next release. Merging it will trigger builds and deploy workflows" |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.