Add Forgejo Actions
All checks were successful
Build and Test / cache-mii (push) Successful in 2m50s
All checks were successful
Build and Test / cache-mii (push) Successful in 2m50s
This commit is contained in:
parent
c91aa25565
commit
a4cb1d75b8
2 changed files with 85 additions and 0 deletions
67
.forgejo/workflows/build.yml
Normal file
67
.forgejo/workflows/build.yml
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
name: Build and Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ["**"]
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
DOCKER_TLS_CERTDIR: /certs
|
||||||
|
IMAGE_TAG: ${{ github.sha }}
|
||||||
|
SHORT_SHA: ${{ github.sha }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
cache-mii:
|
||||||
|
runs-on: debian-trixie
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Cache Container Storage
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
/var/lib/containers/storage
|
||||||
|
/run/containers/storage
|
||||||
|
~/.local/share/containers/storage
|
||||||
|
key: image-cache
|
||||||
|
|
||||||
|
- name: Login to Registry
|
||||||
|
run: podman login -u ${{ secrets.PACKAGE_USER }} -p ${{ secrets.PACKAGE_PWD }} git.spbr.net
|
||||||
|
|
||||||
|
- name: Set Short SHA
|
||||||
|
run: echo "SHORT_SHA=${GITHUB_SHA::6}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build and Push
|
||||||
|
env:
|
||||||
|
CI_REGISTRY_IMAGE: git.spbr.net/spacebar/cache-mii
|
||||||
|
CI_COMMIT_SHORT_SHA: ${{ env.SHORT_SHA }}
|
||||||
|
run: |
|
||||||
|
podman login -u ${{ secrets.PACKAGE_USER }} -p ${{ secrets.PACKAGE_PWD }} git.spbr.net
|
||||||
|
podman build -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" .
|
||||||
|
podman push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
|
||||||
|
|
||||||
|
- name: Push Retagged Branch
|
||||||
|
env:
|
||||||
|
CI_REGISTRY_IMAGE: git.spbr.net/spacebar/cache-mii
|
||||||
|
CI_COMMIT_SHORT_SHA: ${{ forgejo.ref_name }}
|
||||||
|
CI_COMMIT_PREVIOUS_SHA: ${{ env.SHORT_SHA }}
|
||||||
|
run: |
|
||||||
|
podman login -u ${{ secrets.PACKAGE_USER }} -p ${{ secrets.PACKAGE_PWD }} git.spbr.net
|
||||||
|
podman pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_PREVIOUS_SHA"
|
||||||
|
podman tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_PREVIOUS_SHA" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
|
||||||
|
podman push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
|
||||||
|
|
||||||
|
- name: Push Retagged Latest
|
||||||
|
env:
|
||||||
|
CI_REGISTRY_IMAGE: git.spbr.net/spacebar/cache-mii
|
||||||
|
CI_COMMIT_SHORT_SHA: latest
|
||||||
|
CI_COMMIT_PREVIOUS_SHA: ${{ env.SHORT_SHA }}
|
||||||
|
run: |
|
||||||
|
podman login -u ${{ secrets.PACKAGE_USER }} -p ${{ secrets.PACKAGE_PWD }} git.spbr.net
|
||||||
|
podman pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_PREVIOUS_SHA"
|
||||||
|
podman tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_PREVIOUS_SHA" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
|
||||||
|
podman push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
|
||||||
18
Dockerfile
Normal file
18
Dockerfile
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
|
FROM rust:alpine as builder
|
||||||
|
|
||||||
|
RUN apk add openssl-dev musl-dev openssl-libs-static lld git
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
RUN OPENSSL_LIB_DIR=/usr/lib OPENSSL_INCLUDE_DIR=/usr/include/openssl OPENSSL_STATIC=1 cargo build --release --target x86_64-unknown-linux-musl
|
||||||
|
|
||||||
|
FROM scratch as final
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/cache-mii ./cache-mii
|
||||||
|
|
||||||
|
ENTRYPOINT ["./cache-mii"]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue