Feat: add release image workflows
Fix: - transaction didn't do shit because of my shit code
This commit is contained in:
@@ -10,8 +10,28 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Run go vet
|
- name: Run go vet
|
||||||
run: go vet
|
run: go vet
|
||||||
|
check-swagger-up-to-date:
|
||||||
|
runs-on: imgbuilder
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Run make swagger
|
||||||
|
run: make swagger
|
||||||
|
- name: Check diff
|
||||||
|
run: |
|
||||||
|
if ! git diff --exit-code; then
|
||||||
|
echo "ERROR: swagger introduced uncommitted changes!"
|
||||||
|
echo "Please commit generated files."
|
||||||
|
git status
|
||||||
|
git diff
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "No uncommitted changes detected. OpenAPI is up-to-date."
|
||||||
|
fi
|
||||||
run-go-test:
|
run-go-test:
|
||||||
needs: run-go-vet
|
needs:
|
||||||
|
- run-go-vet
|
||||||
|
- check-swagger-up-to-date
|
||||||
runs-on: imgbuilder
|
runs-on: imgbuilder
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -29,3 +49,14 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Run make docker-clean
|
- name: Run make docker-clean
|
||||||
run: make docker-clean
|
run: make docker-clean
|
||||||
|
release-image:
|
||||||
|
needs:
|
||||||
|
- run-go-test
|
||||||
|
runs-on: imgbuilder
|
||||||
|
steps:
|
||||||
|
- name: Build and push image
|
||||||
|
uses: https://gitea.konchin.com/action/docker@main
|
||||||
|
with:
|
||||||
|
registry-certificate: ${{ vars.ROOTCA }}
|
||||||
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -16,7 +16,7 @@ swagger:
|
|||||||
$(SWAG) init -o docs -g cmds/serve.go -pdl 1
|
$(SWAG) init -o docs -g cmds/serve.go -pdl 1
|
||||||
|
|
||||||
docker: $(TARGET)
|
docker: $(TARGET)
|
||||||
$(COMPOSE) up -d --force-recreate --build backend
|
$(DOCKER) compose up -d --force-recreate --build backend
|
||||||
|
|
||||||
$(TARGET): $(SOURCE)
|
$(TARGET): $(SOURCE)
|
||||||
$(GO_ENV) go build -o $@
|
$(GO_ENV) go build -o $@
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ func (self *BunDatabase) UpdateRefreshToken(
|
|||||||
}
|
}
|
||||||
|
|
||||||
err := self.db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {
|
err := self.db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {
|
||||||
err := self.db.NewSelect().
|
err := tx.NewSelect().
|
||||||
Model(&ret).
|
Model(&ret).
|
||||||
WherePK().
|
WherePK().
|
||||||
Scan(ctx)
|
Scan(ctx)
|
||||||
@@ -76,7 +76,7 @@ func (self *BunDatabase) UpdateRefreshToken(
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = self.db.NewUpdate().
|
_, err = tx.NewUpdate().
|
||||||
Model((*models.Session)(nil)).
|
Model((*models.Session)(nil)).
|
||||||
Set("refresh_token = ?", ret.RefreshToken).
|
Set("refresh_token = ?", ret.RefreshToken).
|
||||||
Where("user_id = ?", userId).
|
Where("user_id = ?", userId).
|
||||||
@@ -176,7 +176,7 @@ func (self *BunDatabase) UpdateAliases(
|
|||||||
Name: ali,
|
Name: ali,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
_, err := self.db.NewInsert().
|
_, err := tx.NewInsert().
|
||||||
Model(&aliases).
|
Model(&aliases).
|
||||||
On("CONFLICT (name) DO NOTHING").
|
On("CONFLICT (name) DO NOTHING").
|
||||||
Exec(ctx)
|
Exec(ctx)
|
||||||
@@ -191,7 +191,7 @@ func (self *BunDatabase) UpdateAliases(
|
|||||||
ImageId: imageId,
|
ImageId: imageId,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
_, err = self.db.NewInsert().
|
_, err = tx.NewInsert().
|
||||||
Model(&rels).
|
Model(&rels).
|
||||||
On(`CONFLICT ("alias_id", "image_id") DO NOTHING`).
|
On(`CONFLICT ("alias_id", "image_id") DO NOTHING`).
|
||||||
Exec(ctx)
|
Exec(ctx)
|
||||||
@@ -218,14 +218,14 @@ func (self *BunDatabase) DeleteImage(
|
|||||||
imageId int64,
|
imageId int64,
|
||||||
) error {
|
) error {
|
||||||
return self.db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {
|
return self.db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {
|
||||||
_, err := self.db.NewDelete().
|
_, err := tx.NewDelete().
|
||||||
Model((*models.Image)(nil)).
|
Model((*models.Image)(nil)).
|
||||||
Where("id = ?", imageId).
|
Where("id = ?", imageId).
|
||||||
Exec(ctx)
|
Exec(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
_, err = self.db.NewDelete().
|
_, err = tx.NewDelete().
|
||||||
Model((*models.AliasImage)(nil)).
|
Model((*models.AliasImage)(nil)).
|
||||||
Where("image_id = ?", imageId).
|
Where("image_id = ?", imageId).
|
||||||
Exec(ctx)
|
Exec(ctx)
|
||||||
@@ -241,14 +241,14 @@ func (self *BunDatabase) DeleteAlias(
|
|||||||
aliasId int64,
|
aliasId int64,
|
||||||
) error {
|
) error {
|
||||||
return self.db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {
|
return self.db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {
|
||||||
_, err := self.db.NewDelete().
|
_, err := tx.NewDelete().
|
||||||
Model((*models.Alias)(nil)).
|
Model((*models.Alias)(nil)).
|
||||||
Where("id = ?", aliasId).
|
Where("id = ?", aliasId).
|
||||||
Exec(ctx)
|
Exec(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
_, err = self.db.NewDelete().
|
_, err = tx.NewDelete().
|
||||||
Model((*models.AliasImage)(nil)).
|
Model((*models.AliasImage)(nil)).
|
||||||
Where("alias_id = ?", aliasId).
|
Where("alias_id = ?", aliasId).
|
||||||
Exec(ctx)
|
Exec(ctx)
|
||||||
|
|||||||
Reference in New Issue
Block a user