Skip to content

Commit

Permalink
feat: initial commit for first release
Browse files Browse the repository at this point in the history
  • Loading branch information
duruer committed Jan 23, 2025
1 parent 9354451 commit 565746d
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 1 deletion.
87 changes: 87 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle

name: Pano Vanilla Theme Release

on:
push:
branches: [ "dev" ]

permissions:
contents: read

jobs:
get-next-version:
runs-on: ubuntu-latest
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2

- name: Dry run to get next release version
id: get-next-version
run: |
export NEXT_TAG_VERSION=$(bunx semantic-release --dry-run | grep 'next release version is ' | awk -F"next release version is " '{print $2}')
echo "new_tag_version=${NEXT_TAG_VERSION}" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.TOKEN_GITHUB }}

- name: Echo new_tag_version
run: |
echo "Extracted Tag Version: ${{ steps.get-next-version.outputs.new_tag_version }}"
env:
GITHUB_TOKEN: ${{ secrets.TOKEN_GITHUB }}
outputs:
new_tag_version: ${{ steps.get-next-version.outputs.new_tag_version }}

build-and-release:
runs-on: ubuntu-latest
needs: get-next-version
if: ${{needs.get-next-version.outputs.new_tag_version != ''}}
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- uses: actions/checkout@v4
with:
submodules: recursive # Fetch submodules
fetch-depth: 0
token: ${{ secrets.TOKEN_GITHUB }}

- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch

- uses: oven-sh/setup-bun@v2

- name: Install
run: bun install

- name: Create .env.local if branch is dev
run: |
if [[ "${{ steps.extract_branch.outputs.branch }}" == "dev" ]]; then
echo "VITE_PANO_WEBSITE_URL=https://dev.panomc.com" > .env.local
fi
- name: Build
run: bun run build

- name: Zip Build
run: cd build && zip -r ../vanilla-theme-v${{ needs.get-next-version.outputs.new_tag_version }}.zip . && cd ..

- name: Release
env:
GITHUB_TOKEN: ${{ secrets.TOKEN_GITHUB }}
run: bunx semantic-release
31 changes: 31 additions & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"branches": [
{
"name": "dev",
"prerelease": true
},
{
"name": "master"
}
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@semantic-release/github",
{
"assets": [
{
"path": "*.zip",
"label": false
},
{
"path": "LICENSE",
"label": false
}
]
}
]
],
"repositoryUrl": "https://github.com/PanoMc/vanilla-theme.git"
}
2 changes: 1 addition & 1 deletion src/pano-ui

0 comments on commit 565746d

Please sign in to comment.