Fix museum deployment (#683)

- Add museum lint action (triggered automatically on any push that
touches server/*)
- Add museum release action (triggered manually - that's the behaviour
we want)
- Also fix a lint issue

It's not showing me the workflow_trigger option so can't actually test
the build yet. We can merge this, and if something's not working will
fix that in another PR.
This commit is contained in:
Manav Rathi 2024-03-05 18:07:24 +05:30 committed by GitHub
commit 2a525da8ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 54 additions and 73 deletions

View file

@ -17,20 +17,18 @@ jobs:
run:
working-directory: auth
steps:
# Checkout our code, including submodules
- uses: actions/checkout@v4
- name: Checkout code and submodules
uses: actions/checkout@v4
with:
submodules: recursive
# Install Flutter
- uses: subosito/flutter-action@v2
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: "stable"
flutter-version: "3.13.4"
cache: true
# Install dependencies
- run: flutter pub get
# Lint
- run: flutter analyze --no-fatal-infos

View file

@ -17,20 +17,18 @@ jobs:
run:
working-directory: mobile
steps:
# Checkout our code, including submodules
- uses: actions/checkout@v4
- name: Checkout code and submodules
uses: actions/checkout@v4
with:
submodules: recursive
# Install Flutter
- uses: subosito/flutter-action@v2
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: "stable"
flutter-version: "3.13.4"
cache: true
# Install dependencies
- run: flutter pub get
# Lint
- run: flutter analyze --no-fatal-infos

33
.github/workflows/server-lint.yml vendored Normal file
View file

@ -0,0 +1,33 @@
name: "Lint (server)"
on:
# Run on every push (this also covers pull requests)
push:
# See: [Note: Specify branch when specifying a path filter]
branches: ["**"]
# Only run if something changes in these paths
paths:
- "server/**"
- ".github/workflows/server-lint.yml"
jobs:
lint:
runs-on: ubuntu-latest
defaults:
run:
working-directory: server
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: "server/go.mod"
cache: true
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install libsodium-dev
- name: Lint
run: "./scripts/lint.sh"

View file

@ -1,16 +1,10 @@
name: Prod CI
name: "Release (server)"
on:
workflow_dispatch:
# Enable manual run
push:
# Sequence of patterns matched against refs/tags
tags:
- "v*" # Push events to matching v*, i.e. v4.2.0
workflow_dispatch: # Run manually
jobs:
build:
# This job will run on ubuntu virtual machine
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@ -19,6 +13,8 @@ jobs:
- uses: mr-smithers-excellent/docker-build-push@v6
name: Build & Push
with:
dockerfile: server/Dockerfile
directory: server
image: ente/museum-prod
registry: rg.fr-par.scw.cloud
enableBuildKit: true

View file

@ -26,11 +26,16 @@ jobs:
run:
working-directory: web
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- name: Checkout code
uses: actions/checkout@v4
- name: Setup node and enable yarn caching
uses: actions/setup-node@v4
with:
node-version: 20
cache: "yarn"
cache-dependency-path: "web/yarn.lock"
- run: yarn install
- run: yarn lint

View file

@ -1,28 +0,0 @@
name: Dev CI
on:
workflow_dispatch:
# Enable manual run
push:
# Sequence of patterns matched against refs/tags
tags:
- "v*" # Push events to matching v*, i.e. v4.2.0
jobs:
build:
# This job will run on ubuntu virtual machine
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Check out code
- uses: mr-smithers-excellent/docker-build-push@v6
name: Build & Push
with:
image: ente/museum-dev
registry: rg.fr-par.scw.cloud
enableBuildKit: true
buildArgs: GIT_COMMIT=${GITHUB_SHA}
tags: ${GITHUB_SHA}, latest
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

View file

@ -1,21 +0,0 @@
name: Code quality
on:
# Enable manual run
workflow_dispatch:
# Run on every push; this also covers pull requests
push:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
cache: true
- run: sudo apt-get update && sudo apt-get install libsodium-dev
- run:
"./scripts/lint.sh"
# - run: "go test ./..."

View file

@ -48,7 +48,7 @@ type QueueItem struct {
// InsertItem adds entry in the queue with given queueName and item. If entry already exists, it's no-op
func (repo *QueueRepository) InsertItem(ctx context.Context, queueName string, item string) error {
_, err := repo.DB.ExecContext(ctx, `INSERT INTO queue(queue_name, item) VALUES($1, $2)
_, err := repo.DB.ExecContext(ctx, `INSERT INTO queue(queue_name, item) VALUES($1, $2)
ON CONFLICT (queue_name, item) DO NOTHING`, queueName, item)
if err != nil {
return stacktrace.Propagate(err, "")
@ -83,7 +83,7 @@ func (repo *QueueRepository) RequeueItem(ctx context.Context, queueName string,
if count == 0 {
return fmt.Errorf("no item found with queueID: %d for queue %s", queueID, queueName)
}
logrus.Info("Re-queued %d item with queueID: %d for queue %s", count, queueID, queueName)
logrus.Infof("Re-queued %d item with queueID: %d for queue %s", count, queueID, queueName)
return nil
}