[PR #365] [MERGED] Setup CI/CD workflows #572

Closed
opened 2026-02-25 23:34:46 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/go-shiori/shiori/pull/365
Author: @n8225
Created: 2/12/2022
Status: Merged
Merged: 2/13/2022
Merged by: @fmartingr

Base: masterHead: ci_cd


📝 Commits (6)

📊 Changes

15 files changed (+281 additions, -61 deletions)

View changed files

.dockerignore (+6 -0)
.github/workflows/_buildx.yml (+38 -0)
.github/workflows/_golangci-lint.yml (+34 -0)
.github/workflows/_gorelease.yml (+31 -0)
.github/workflows/_test.yml (+28 -0)
.github/workflows/continuous-integration.yml (+0 -55)
.github/workflows/docker/Dockerfile.ci (+11 -0)
.github/workflows/docker/etc/group (+2 -0)
.github/workflows/docker/etc/passwd (+2 -0)
.github/workflows/pull_request.yml (+15 -0)
.github/workflows/push.yml (+21 -0)
.github/workflows/version_bump.yml (+33 -0)
📝 .gitignore (+2 -0)
.goreleaser.yaml (+48 -0)
📝 Dockerfile (+10 -6)

📄 Description

Example results:
https://github.com/n8225/shiori/actions
https://github.com/n8225/shiori/releases/tag/v1.5.2
https://github.com/n8225/shiori/pkgs/container/shiori

  • Workflow
    • Pull request
      • golangci-lint (only tests code changed in pr)
      • unit tests
      • build
    • Push to master
      • golangci-lint (runs against entire repo)
      • unit tests
      • goreleaser (doesn't create a release unless HEAD is tagged, artifact available for download)
      • buildx (tagged dev and by git describe --tags unless HEAD is tagged)
    • Tag release
      • Manually ran workflow, requires input of version tag.
      • Executes git tag and pushes to master
      • goreleaser (creates release and publishes binaries)
      • buildx (tagged latest and version)
  • Tested(only tested sqlite)
    • Binaries
      • linux_x86_64
      • linux_aarch64
      • linux_armv7
      • windows_x86_64
    • Docker images
      • linux_x86_64
      • linux_aarch64
      • linux_armv7

Note: The buildx workflow does not use the Dockerfile in the repo. It creates a Dockerfile that reuses the binary created by goreleaser. The docker image created is also ran as a non-root user, so could be a breaking change(I beleive you can just fun it with -u root to continue running as root).

Invalidates #278
Related Issues: https://github.com/go-shiori/shiori/issues/263 https://github.com/go-shiori/shiori/issues/260

Closes https://github.com/go-shiori/shiori/issues/254 https://github.com/go-shiori/shiori/pull/267 https://github.com/go-shiori/shiori/pull/238 https://github.com/go-shiori/shiori/issues/273 #278


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/go-shiori/shiori/pull/365 **Author:** [@n8225](https://github.com/n8225) **Created:** 2/12/2022 **Status:** ✅ Merged **Merged:** 2/13/2022 **Merged by:** [@fmartingr](https://github.com/fmartingr) **Base:** `master` ← **Head:** `ci_cd` --- ### 📝 Commits (6) - [`e4d78c4`](https://github.com/go-shiori/shiori/commit/e4d78c48e5fc5c5187ce826630147366bb024ad2) CI/CD setup - [`f244744`](https://github.com/go-shiori/shiori/commit/f2447441f5bfeb139796e25563229cdb87239dd1) Setup for go-shiori - [`7892e73`](https://github.com/go-shiori/shiori/commit/7892e73760b966329bc6cbb15d2a6fcbcf44d6ea) Fix docker image - [`ab78f9e`](https://github.com/go-shiori/shiori/commit/ab78f9eaf96c47afaf26da1fb0c30af2221f9ff9) Fix docker image - [`1c9b28c`](https://github.com/go-shiori/shiori/commit/1c9b28c4421896e97d72dcd4c1ed20d6274019b6) Fix docker image-2 - [`81d4ef1`](https://github.com/go-shiori/shiori/commit/81d4ef1ce398865ec6eca138b1e645d8d2fb2317) dockerfile adjustments ### 📊 Changes **15 files changed** (+281 additions, -61 deletions) <details> <summary>View changed files</summary> ➕ `.dockerignore` (+6 -0) ➕ `.github/workflows/_buildx.yml` (+38 -0) ➕ `.github/workflows/_golangci-lint.yml` (+34 -0) ➕ `.github/workflows/_gorelease.yml` (+31 -0) ➕ `.github/workflows/_test.yml` (+28 -0) ➖ `.github/workflows/continuous-integration.yml` (+0 -55) ➕ `.github/workflows/docker/Dockerfile.ci` (+11 -0) ➕ `.github/workflows/docker/etc/group` (+2 -0) ➕ `.github/workflows/docker/etc/passwd` (+2 -0) ➕ `.github/workflows/pull_request.yml` (+15 -0) ➕ `.github/workflows/push.yml` (+21 -0) ➕ `.github/workflows/version_bump.yml` (+33 -0) 📝 `.gitignore` (+2 -0) ➕ `.goreleaser.yaml` (+48 -0) 📝 `Dockerfile` (+10 -6) </details> ### 📄 Description Example results: https://github.com/n8225/shiori/actions https://github.com/n8225/shiori/releases/tag/v1.5.2 https://github.com/n8225/shiori/pkgs/container/shiori - Workflow - [Pull request](https://github.com/n8225/shiori/actions/runs/1834499641) - golangci-lint (only tests code changed in pr) - unit tests - build - [Push to master](https://github.com/n8225/shiori/actions/runs/1834504862) - golangci-lint (runs against entire repo) - unit tests - goreleaser (doesn't create a release unless HEAD is tagged, artifact available for download) - buildx (tagged dev and by git describe --tags unless HEAD is tagged) - [Tag release](https://github.com/n8225/shiori/actions/runs/1834516432) - Manually ran workflow, requires input of version tag. - Executes git tag and pushes to master - goreleaser (creates release and publishes binaries) - buildx (tagged latest and version) - Tested(only tested sqlite) - Binaries - linux_x86_64 - linux_aarch64 - linux_armv7 - windows_x86_64 - Docker images - linux_x86_64 - linux_aarch64 - linux_armv7 Note: The buildx workflow does not use the Dockerfile in the repo. It creates a Dockerfile that reuses the binary created by goreleaser. The docker image created is also ran as a non-root user, so could be a breaking change(I beleive you can just fun it with -u root to continue running as root). Invalidates #278 Related Issues: https://github.com/go-shiori/shiori/issues/263 https://github.com/go-shiori/shiori/issues/260 Closes https://github.com/go-shiori/shiori/issues/254 https://github.com/go-shiori/shiori/pull/267 https://github.com/go-shiori/shiori/pull/238 https://github.com/go-shiori/shiori/issues/273 #278 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-25 23:34:46 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shiori#572
No description provided.