114 Commits
Author SHA1 Message Date
qwqcode 16b690c8c0 fix(plugins): prepare unpublished packages for release
Declare compatible Artalk ranges and npm repository metadata for the pending plugin versions.

Correct ESM and CommonJS declaration exports, trim plugin-kit package contents, and validate package types in CI.
2026-07-25 04:01:43 +08:00
qwqcode 2036a0261e fix(ci): publish npm package with trusted OIDC
Replace the long-lived npm token with GitHub OIDC credentials, verify the release version, and retain pnpm packaging so the published tarball still includes the repository license.
2026-07-25 03:26:34 +08:00
qwqcode 66c8f6b94b fix(docker): push release images by digest
Avoid assigning temporary platform tags to digest-only outputs so Buildx can push canonical per-platform digests before the manifest merge.
2026-07-25 03:26:33 +08:00
qwqcode 1bf21404bd fix(build): bind Docker metadata to release commit
Pass the resolved release commit into Docker builds, verify every checkout against it, and derive image version metadata and sha tags from the packaged source instead of the workflow invocation commit.
2026-07-24 14:24:00 +08:00
qwqcode 9ec0f1c74a fix(ci): pin release retries to reviewed commits
Resolve automatic releases from the merged release PR commit and require an explicit immutable commit when recovering a missing tag. Reuse existing tags idempotently, restore annotated release tags, and reject duplicate release preparation or inconsistent version files.
2026-07-24 14:23:26 +08:00
qwqcode 9b5e47d602 fix(ci): create release tags under tag ruleset
Create lightweight release refs directly at the checked-out commit so the v* linear-history rule evaluates the commit instead of an annotated tag object. Resolve existing tags through the remote API, verify their exact target without overwriting them, and accept an explicit version for safe manual release retries.
2026-07-23 23:52:35 +08:00
qwqcode 4a9b07e687 fix(ci): preserve nightly tag during release refresh
Keep the movable nightly tag while replacing the release, verify its exact commit through the Git refs API, and pass the build SHA as the release target. This avoids the tag visibility race caused by deleting and immediately recreating the tag before --verify-tag.
2026-07-23 14:04:01 +08:00
qwqcode d00b63c0af chore(ci): fix git-chglog installation 2026-07-23 13:20:48 +08:00
qwqcode 9c5bd9653f fix(ci): satisfy workflow shell checks
Protect checksum globs and quote test artifact paths for ShellCheck. Pass release versions to Perl through the environment instead of interpolating shell variables into the program text.
2026-07-22 22:20:27 +08:00
qwqcode ca3d37fc2d fix(build): propagate image version metadata
Inject the requested release version and commit hash through Go linker variables so Docker images report the version they were built for, and make release preparation update the linkable version variable.\n\nAssert the version in release image smoke tests and trim unused files from Docker build contexts while preserving both prebuilt-UI and full frontend build paths.
2026-07-22 22:20:27 +08:00
qwqcode f554e6c438 test(ci): expand release validation
Run Go tests natively on Linux AMD64, Linux ARM64, and macOS; reduce the frontend matrix while keeping Node 22, Node 24, and Windows coverage; and make type-entry validation blocking.\n\nAdd the Playwright browser UAT flow to CI, pin test tools, isolate architecture-specific caches and artifacts, and cancel superseded pull-request runs.
2026-07-22 22:20:27 +08:00
qwqcode 76066bbdc0 fix(ci): harden release supply chain
Pin every third-party action to an immutable commit, enforce least-privilege tokens, avoid persisted checkout credentials, and validate all user-controlled values before they reach scripts.\n\nKeep dry-run GoReleaser jobs tokenless, publish npm provenance, generate tags through authenticated GitHub API calls, disable shared caches for release artifacts, and continuously audit workflow syntax and security policy.
2026-07-22 22:20:27 +08:00
qwqcode 3950ef8532 refactor(ci): accelerate nightly publishing
Run AMD64 and ARM64 Docker builds on native GitHub-hosted Linux runners, reuse architecture-scoped BuildKit caches, and merge validated image digests after both builds succeed.\n\nMake manual dry runs build, smoke-test, and upload artifacts without exposing DockerHub credentials or replacing the nightly tag and release.
2026-07-22 22:20:26 +08:00
qwqcode 3f6eb935e4 refactor(ci): optimize multi-architecture releases
Build Docker images once per native AMD64 and ARM64 runner, merge immutable digests into the release manifest, and reuse a single UI artifact across architectures.\n\nKeep dry runs local by separating the source ref from the release version, avoid remote tags and package publication, scope reusable-workflow secrets, and smoke-test each image before publication.
2026-07-22 22:20:26 +08:00
qwqcode 729fd9880a fix(ci): harden release tag handling
Pass the event ref through the environment instead of interpolating expression data into the shell, validate the derived semantic version, and quote Git refs and environment files.

Use rev-parse for an exact tag existence check before creating and pushing the release tag.
2026-07-22 22:20:26 +08:00
qwqcode 8460ae387f chore(deps): bump ci deps
Update checkout, setup, cache, artifact, Docker, CodeQL, Codecov, repository-dispatch, and supporting GitHub Actions to their current major releases.

Move the builder and runtime images to Go 1.26.5 on Alpine 3.24 while preserving workflow inputs and release artifact layout.
2026-07-22 22:13:44 +08:00
qwqcode 747b184fa4 build: remove cgo from SQLite releases 2026-07-22 22:13:43 +08:00
qwqcode 5c3df4776e feat(go): upgrade golang to v1.26.2 and some deps 2026-05-05 20:33:17 +08:00
qwqcode eb3310c537 chore(ci): tidy up frontend build shell scripts 2024-11-24 23:53:20 +08:00
duli ab2c2cf153 chore(ci): include artalk_ui_nightly.tar.gz in nightly release (#1027) 2024-11-23 21:34:49 +08:00
qwqcode abac3f0f36 feat(ui/eslint): add eslint plugin for artalk ui development (#995)
- Implemented `eslint-plugin-artalk` to enforce Artalk's development conventions.
- Added setup script for UI development environment.
- Created test cases for Artalk plugin rules.
- Configured TypeScript and build settings for the plugin.
- Updated documentation with installation and configuration instructions.
2024-10-05 19:19:22 +08:00
qwqcode 1b5ef279bb chore(ci/tests): fix branch filters and improve caching 2024-10-04 00:31:03 +08:00
qwqcode 754223571a chore(ci/tests): switch tests from circle ci to github actions 2024-10-03 23:02:50 +08:00
qwqcode 6b0e46c86c refactor(go): hardcode version and get commit_hash via runtime/debug 2024-09-18 22:01:21 +08:00
qwqcode 53aaf27fdf chore(deps): upgrade frontend deps 2024-09-18 21:56:38 +08:00
qwqcode a3d1ccc773 feat(go): upgrade golang to v1.22.7 and some deps 2024-09-18 21:56:38 +08:00
qwqcode cf7725edba refactor(go): bump the module version and support go install (#979)
BREAKING CHANGE: The original Go module name was `github.com/ArtalkJS/Artalk`, which has now been modified to `github.com/artalkjs/artalk/v2` (all lowercase). This change may affect the CI pipeline or other areas if you are compiling the Artalk server and have specified the fixed Go module name. Regarding the original `-ldflags -X github.com/ArtalkJS/Artalk/internal/config.Version` and `CommitHash` definitions, please remove them, as they are now obsolete. The `Version` has been hardcoded into the Go code, and the `CommitHash` is now read from the Go build info via runtime/debug’s vcs.revision value. This change only affects the server developers and does not impact the frontend UI client.
2024-09-18 21:43:43 +08:00
qwqcode cf58a545b5 chore(deps): upgrade deps 2024-08-28 16:12:43 +08:00
qwqcode 587523f0df feat(go): upgrade golang to v1.22.6 and some deps 2024-08-17 15:43:15 +08:00
qwqcode 08f58cd38b chore(deps/ui): upgrade deps for frontend 2024-08-17 15:07:56 +08:00
qwqcode d4ed7f64b2 refactor(ui): fix linter issues for ui and docs (#917)
* refactor(ui): fix linter issues for ui and docs

* fix ci
2024-06-09 18:31:04 +08:00
qwqcode 0e75457499 chore(deps): upgrade node and pnpm 2024-06-08 16:55:20 +08:00
qwqcode 1e36d45ec3 chore(ci): remove arm/v7 docker build 2024-05-26 17:36:00 +08:00
qwqcode 860dd698e7 feat(go): upgrade golang to v1.22.3 and some deps 2024-05-25 18:36:52 +08:00
qwqcode 92464085e6 chore(pkg_manager): upgrade pnpm to v9.1.0 2024-05-09 11:52:08 +08:00
qwqcode b8afcbb21a fix(cache/user): user id cache from email lookup not cleared 2024-05-04 09:48:06 +08:00
qwqcode 0c0a207068 chore(deps): upgrade go and ui deps 2024-05-03 23:25:41 +08:00
qwqcode 116d8f1919 chore(ci): fix build workflow 2024-04-25 00:01:51 +08:00
qwqcode 6c9a7e3884 chore(deps): upgrade go deps 2024-04-15 14:38:03 +08:00
qwqcode 65b440416d chore(ci): release workflow allows manual custom version 2024-04-15 14:32:36 +08:00
qwqcode 915b5f48b4 refactor(ui/prettier): add prettier code formatter 2024-04-14 23:42:06 +08:00
Mr.Hopeandqwqcode 16527ec4f3 perf(ui/pkg): add shorter export names (#821)
* feat(artalk): add shorter export names

* chore: tweaks

* chore: mute attw

---------

Co-authored-by: qwqcode <qwqcode@gmail.com>
2024-04-08 14:51:32 +08:00
dependabot[bot] 7d6faf6431 chore(deps/ci): bump the deps group in /.github/workflows with 4 updates (#784)
Bumps the deps group in /.github/workflows with 4 updates: [pnpm/action-setup](https://github.com/pnpm/action-setup), [github/codeql-action](https://github.com/github/codeql-action), [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) and [peter-evans/repository-dispatch](https://github.com/peter-evans/repository-dispatch).


Updates `pnpm/action-setup` from 2 to 3
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2...v3)

Updates `github/codeql-action` from 2 to 3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

Updates `peter-evans/create-pull-request` from 5 to 6
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6)

Updates `peter-evans/repository-dispatch` from 2 to 3
- [Release notes](https://github.com/peter-evans/repository-dispatch/releases)
- [Commits](https://github.com/peter-evans/repository-dispatch/compare/v2...v3)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: deps
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: deps
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: deps
- dependency-name: peter-evans/repository-dispatch
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-07 21:47:42 +08:00
qwqcode ed9a78472d chore(ui/dev): bump node to v20.12.1 2024-04-07 19:49:39 +08:00
qwqcode ae5543df52 feat(go): upgrade golang to v1.22.1 and some deps 2024-04-07 19:29:47 +08:00
qwqcode 9103a923a6 chore(ci/nightly): build arm64 on M1 macOS runner
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners
2024-03-16 15:23:53 +08:00
qwqcode 0eb75f612a chore(ci/nightly): build arm64 on M1 macOS runner
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners
2024-03-16 01:12:39 +08:00
qwqcode 18e6ae5b17 chore(ci/nightly): improve nightly build workflow 2024-03-15 17:57:17 +08:00
qwqcode 1ee3c41199 feat(ci/build): add nightly build workflow 2024-03-15 12:54:19 +08:00
qwqcode 50b0a6068c chore(ci): fix ui test trigger rules 2024-01-26 17:16:18 +08:00