From 0a21cc140a20722be9e05939fefbc50a557572ab Mon Sep 17 00:00:00 2001 From: Ondrej Vlach Date: Sun, 3 Dec 2023 19:22:18 +0100 Subject: [PATCH] build: fix gitea actions --- .gitea/workflows/release_docker.yaml | 17 ++++++++++++---- .gitea/workflows/test.yaml | 9 ++------- Dockerfile | 30 +++++++++++++++++----------- Rocket.toml | 1 + 4 files changed, 34 insertions(+), 23 deletions(-) diff --git a/.gitea/workflows/release_docker.yaml b/.gitea/workflows/release_docker.yaml index 8dc1876..595deac 100644 --- a/.gitea/workflows/release_docker.yaml +++ b/.gitea/workflows/release_docker.yaml @@ -6,8 +6,17 @@ on: - master jobs: tests: - uses: ./.gitea/workflows/test.yaml # use the callable tests job to run tests - secrets: inherit + name: tests + runs-on: ubuntu-latest + steps: + - uses: https://github.com/actions/checkout.git@v4 + - name: tests + uses: nanobyte-public/rust-action@master + with: + args: | + CARGO_HOME=./.cache cargo-nan \"Bearer ${{secrets.deployment_package}}\" cargo clippy -- -Dwarnings && \ + CARGO_HOME=./.cache cargo-nan \"Bearer ${{secrets.deployment_package}}\" cargo clippy --tests -- -Dwarnings && \ + CARGO_HOME=./.cache cargo-nan \"Bearer ${{secrets.deployment_package}}\" cargo test deploy: name: deploy runs-on: ubuntu-latest @@ -27,5 +36,5 @@ jobs: run: echo "::set-output name=short_hash::$(git rev-parse --short HEAD)" - name: Build and push docker run: | - docker build . -t git.nanobyte.cz/$GITHUB_REPOSITORY_OWNER/ovlach_backend:${{steps.git.outputs.short_hash}} --build-arg GITEA_TOKEN="Bearer ${{secrets.DEPLOYMENT_PACKAGE}}" && \ - docker push git.nanobyte.cz/$GITHUB_REPOSITORY_OWNER/ovlach_backend:${{steps.git.outputs.short_hash}} + docker build . -t git.nanobyte.cz/$GITHUB_REPOSITORY_OWNER/ovlach_frontend:${{steps.git.outputs.short_hash}} --build-arg GITEA_TOKEN="Bearer ${{secrets.DEPLOYMENT_PACKAGE}}" && \ + docker push git.nanobyte.cz/$GITHUB_REPOSITORY_OWNER/ovlach_frontend:${{steps.git.outputs.short_hash}} diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml index b13cc51..2065d84 100644 --- a/.gitea/workflows/test.yaml +++ b/.gitea/workflows/test.yaml @@ -1,11 +1,6 @@ name: test run-name: test on: - workflow_call: - secrets: - DEPLOYMENT_PACKAGE: - description: 'needed for checkout depenediencies' - required: true push: branches: - '*' @@ -29,7 +24,7 @@ jobs: restore-keys: ${{github.repository}}-cache-cargo-clippy-v4 - uses: nanobyte-public/rust-action@master with: - args: CARGO_HOME=./.cache cargo-nan \"Bearer ${{secrets.DEPLOYMENT_PACKAGE}}\" cargo clippy -- -Dwarnings + args: CARGO_HOME=./.cache cargo-nan \"Bearer ${{secrets.deployment_package}}\" cargo clippy -- -Dwarnings - uses: https://gitea.com/wolfogre/cache/save@v3 if: steps.cache.outputs.cache-hit != 'true' with: @@ -57,7 +52,7 @@ jobs: - uses: nanobyte-public/rust-action@master with: args: | - CARGO_HOME=./.cache cargo-nan \"Bearer ${{secrets.DEPLOYMENT_PACKAGE}}\" cargo test + CARGO_HOME=./.cache cargo-nan \"Bearer ${{secrets.deployment_package}}\" cargo test - uses: https://gitea.com/wolfogre/cache/save@v3 if: steps.cache.outputs.cache-hit != 'true' with: diff --git a/Dockerfile b/Dockerfile index cb7b748..88abddc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,20 @@ -FROM rust:1.74.0-slim-bookworm AS builder -COPY . /app -WORKDIR /app -RUN mkdir ~/.ssh -RUN apt-get update && apt-get install -y ssh && rm -rf /var/cache/apt* -RUN ssh-keyscan gitlab.nanobyte.cz >> /root/.ssh/known_hosts -RUN cargo build --release +FROM git.nanobyte.cz/nanobyte/nano-rust:1.74.4e44cba AS builder +ARG PACKAGE_NAME="ovlach_frontend" +ARG GITEA_TOKEN -FROM rust:1.74.0-slim-bookworm as runner -RUN mkdir /app -COPY --from=builder /app/target/release/ovlach_frontend /app -COPY ./templates /app/templates -ENTRYPOINT ["/app/ovlach_frontend"] \ No newline at end of file +COPY . /data/ +RUN cd /data && cargo-nan "${GITEA_TOKEN}" cargo build --release + +FROM git.nanobyte.cz/nanobyte/nano-rust:1.74.4e44cba +ARG PACKAGE_NAME="ovlach_frontend" +ARG GITEA_TOKEN +COPY --from=builder /data/target/release/${PACKAGE_NAME} /bin +RUN mkdir /rund +COPY Rocket.toml /rund +COPY templates/* /rund/templates/ +WORKDIR /rund +EXPOSE 8000 +ENV ROCKET_ADDRESS=0.0.0.0 +ENV PACKAGE_NAME=${PACKAGE_NAME} +ENTRYPOINT $PACKAGE_NAME diff --git a/Rocket.toml b/Rocket.toml index 5f84b00..5adaa69 100644 --- a/Rocket.toml +++ b/Rocket.toml @@ -9,3 +9,4 @@ cv_backend_path = "http://localhost:8002" contact_service = "http://localhost:8004" pdf_service = "http://localhost:8003" default_person_name = "ovlach" +port = 8000