Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/actions/build-release-assets/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Build release assets
description: Build and package the theme assets used by GitHub Releases and development builds.

inputs:
bun-version:
description: Bun version used to build the theme.
required: false
default: "1.3.14"

runs:
using: composite
steps:
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ inputs.bun-version }}

- name: Install dependencies
shell: bash
run: bun install --frozen-lockfile

- name: Build and package theme assets
shell: bash
run: bash "${{ github.action_path }}/package.sh"
29 changes: 29 additions & 0 deletions .github/actions/build-release-assets/package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -Eeuo pipefail

bun release

tar -zcf dist/theme-github-base.tar.gz \
dist/theme-github-auto.css dist/theme-github-light.css dist/theme-github-dark.css dist/theme-github-soft-dark.css

tar -zcf dist/theme-github-colorblind-protanopia-deuteranopia.tar.gz dist/theme-github-colorblind-*.css
tar -zcf dist/theme-github-colorblind-tritanopia.tar.gz dist/theme-github-tritanopia-*.css

tar -zcf dist/theme-github-high-contrast-base.tar.gz \
dist/theme-github-high-contrast-auto.css dist/theme-github-high-contrast-light.css \
dist/theme-github-high-contrast-dark.css dist/theme-github-high-contrast-soft-dark.css

tar -zcf dist/theme-github-high-contrast-colorblind-protanopia-deuteranopia.tar.gz \
dist/theme-github-high-contrast-colorblind-*.css
tar -zcf dist/theme-github-high-contrast-colorblind-tritanopia.tar.gz \
dist/theme-github-high-contrast-tritanopia-*.css

tar -zcf dist/theme-github-extra-pink.tar.gz dist/theme-github-pink-*.css
tar -zcf dist/theme-github-extra-gitea.tar.gz dist/theme-github-gitea-*.css
tar -zcf dist/theme-github-extra-catppuccin.tar.gz dist/theme-github-catppuccin-*.css

tar -zcf dist/theme-github.tar.gz --remove-files dist/theme-github-*.css

tar -zcf dist/theme-github-templates.tar.gz templates
tar -zcf dist/theme-github-fonts.tar.gz -C dist assets/fonts
tar -zcf dist/theme-github-translations.tar.gz --remove-files dist/options
60 changes: 60 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name-template: "$RESOLVED_VERSION"
tag-template: "$RESOLVED_VERSION"
change-template: "* $TITLE by @$AUTHOR in [#$NUMBER]($URL)"
change-title-escapes: "\\<*_&"
category-template: "## $TITLE"
no-changes-template: "* No changes"

template: |
# Release $RESOLVED_VERSION

<!-- Replace this summary before publishing the release. -->
[Short summary of the release.]

# Compatibility

This release targets Forgejo `[major version]`.

It was tested against Forgejo `[version]`, including the bundled template overrides.

# Changelog

$CHANGES

categories:
- title: "Features"
exclusive: true
labels:
- "feature"

- title: "Changes"
exclusive: true
labels:
- "change"

- title: "Fixes"
exclusive: true
labels:
- "bug"

- title: "Dependencies"
exclusive: true
labels:
- "dependencies"

exclude-labels:
- "skip-changelog"

version-resolver:
major:
labels:
- "major"
minor:
labels:
- "feature"
patch:
labels:
- "change"
- "bug"
- "dependencies"
default: patch
73 changes: 0 additions & 73 deletions .github/workflows/build.yml

This file was deleted.

33 changes: 33 additions & 0 deletions .github/workflows/development-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Development Build

on:
workflow_dispatch:
inputs:
ref:
description: Branch, tag, or commit to build.
required: true
default: dev
type: string

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out source
uses: actions/checkout@v7
with:
ref: ${{ inputs.ref }}

- name: Build release assets
uses: ./.github/actions/build-release-assets

- name: Upload development artifacts
uses: actions/upload-artifact@v7
with:
name: forgejo-theme-dev-${{ github.run_number }}
path: dist/*.tar.gz
if-no-files-found: error
retention-days: 14
44 changes: 42 additions & 2 deletions .github/workflows/pr.yml → .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,52 @@
name: pr
name: Pull Request

on:
pull_request:
types:
- opened
- edited
- reopened
- synchronize
- ready_for_review
branches:
- main
- dev
pull_request_target:
types:
- opened
- edited
- reopened
- synchronize
- labeled
- unlabeled
- ready_for_review
branches:
- dev

concurrency:
group: pr-${{ github.event_name }}-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
require-release-label:
if: github.event_name == 'pull_request_target'
runs-on: ubuntu-latest
permissions:
issues: read
pull-requests: read
steps:
- name: Verify pull request release label
uses: mheap/github-action-required-labels@v5
with:
mode: exactly
count: 1
labels: "^(feature|change|bug|dependencies|skip-changelog)$"
use_regex: true
message: >-
Add one release label: feature, change, bug, dependencies, or skip-changelog. Add major as an optional
version modifier.

checks:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/release-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Release Build

on:
release:
types:
- created
- published
workflow_dispatch:
inputs:
release-tag:
description: Release tag to rebuild and republish, for example v1.28.0
required: true
type: string

permissions:
contents: write

concurrency:
group: release-${{ github.event.release.tag_name || inputs.release-tag }}
cancel-in-progress: true

jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
ref: ${{ github.event_name == 'release' && github.event.release.tag_name || inputs.release-tag }}
- name: Build release assets
uses: ./.github/actions/build-release-assets
- name: Upload assets to release
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ github.event_name == 'release' && github.event.release.tag_name || inputs.release-tag }}
run: gh release upload "$RELEASE_TAG" dist/*.tar.gz --clobber
26 changes: 26 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Release Drafter

on:
push:
branches:
- dev
workflow_dispatch:

permissions:
contents: write
pull-requests: read

concurrency:
group: release-drafter-${{ github.ref }}
cancel-in-progress: true

jobs:
update-release-draft:
runs-on: ubuntu-latest
steps:
- name: Update release draft
uses: release-drafter/release-drafter@v7
with:
commitish: dev
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48 changes: 0 additions & 48 deletions .github/workflows/release.yml

This file was deleted.

Loading
Loading