diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 75505e0..04cdf30 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -21,9 +21,27 @@ jobs: DJANGO_ALLOWED_HOSTS: "127.0.0.1,localhost" IMAGE_NAME: achievement_inputing_ci steps: + - name: Ensure source present + env: + SERVER: ${{ github.server_url }} + REPO: ${{ github.repository }} + REF: ${{ github.ref }} + SHA: ${{ github.sha }} + TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if [ -f "$GITHUB_WORKSPACE/Dockerfile" ]; then exit 0; fi + mkdir -p "$GITHUB_WORKSPACE" + cd "$GITHUB_WORKSPACE" + git init . + if [ -z "$TOKEN" ]; then + git fetch --depth=1 "$SERVER/$REPO.git" "$REF" + else + git -c http.extraHeader="Authorization: Bearer $TOKEN" fetch --depth=1 "$SERVER/$REPO.git" "$REF" + fi + git checkout FETCH_HEAD - name: Build application image run: | - docker build -t "$IMAGE_NAME" -f Dockerfile . + docker build -t "$IMAGE_NAME" -f "$GITHUB_WORKSPACE/Dockerfile" "$GITHUB_WORKSPACE" - name: Output image info run: | docker image inspect "$IMAGE_NAME" --format '{{.Id}} {{.Size}}'