morska release
This commit is contained in:
@@ -9,6 +9,7 @@ env:
|
|||||||
DEPLOY_PATH: "./deployment/"
|
DEPLOY_PATH: "./deployment/"
|
||||||
SSH_KEYFILE: "/ci-keys/morska"
|
SSH_KEYFILE: "/ci-keys/morska"
|
||||||
BUILD_WORKFLOW_PATH: ".gitea/workflows/build.yml"
|
BUILD_WORKFLOW_PATH: ".gitea/workflows/build.yml"
|
||||||
|
API_BASE: "https://code.bim-it.pl/api/v1"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
@@ -26,15 +27,27 @@ jobs:
|
|||||||
- name: Resolve repo/env
|
- name: Resolve repo/env
|
||||||
id: repo
|
id: repo
|
||||||
env:
|
env:
|
||||||
GITEA_SERVER_URL: ${{ github.server_url }} # np. https://code.bim-it.pl
|
|
||||||
GITHUB_REPOSITORY: ${{ github.repository }} # owner/repo
|
GITHUB_REPOSITORY: ${{ github.repository }} # owner/repo
|
||||||
|
API_BASE: ${{ env.API_BASE }}
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
OWNER="${GITHUB_REPOSITORY%%/*}"
|
OWNER="${GITHUB_REPOSITORY%%/*}"
|
||||||
REPO="${GITHUB_REPOSITORY##*/}"
|
REPO="${GITHUB_REPOSITORY##*/}"
|
||||||
echo "owner=$OWNER" >> $GITHUB_OUTPUT
|
echo "owner=$OWNER" >> $GITHUB_OUTPUT
|
||||||
echo "repo=$REPO" >> $GITHUB_OUTPUT
|
echo "repo=$REPO" >> $GITHUB_OUTPUT
|
||||||
echo "api=${GITEA_SERVER_URL%/}/api/v1" >> $GITHUB_OUTPUT
|
echo "api=$API_BASE" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Probe API & auth
|
||||||
|
env:
|
||||||
|
API: ${{ steps.repo.outputs.api }}
|
||||||
|
OWNER: ${{ steps.repo.outputs.owner }}
|
||||||
|
REPO: ${{ steps.repo.outputs.repo }}
|
||||||
|
TOKEN: ${{ secrets.GITEATOKEN }}
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
echo "Probing: $API/repos/$OWNER/$REPO"
|
||||||
|
curl -sfSL -H "Authorization: token $TOKEN" "$API/repos/$OWNER/$REPO" >/dev/null
|
||||||
|
echo "OK"
|
||||||
|
|
||||||
- name: Pick latest successful build (main)
|
- name: Pick latest successful build (main)
|
||||||
id: pick
|
id: pick
|
||||||
@@ -42,13 +55,15 @@ jobs:
|
|||||||
API: ${{ steps.repo.outputs.api }}
|
API: ${{ steps.repo.outputs.api }}
|
||||||
OWNER: ${{ steps.repo.outputs.owner }}
|
OWNER: ${{ steps.repo.outputs.owner }}
|
||||||
REPO: ${{ steps.repo.outputs.repo }}
|
REPO: ${{ steps.repo.outputs.repo }}
|
||||||
TOKEN: ${{ secrets.GITEATOKEN }} # PAT z odczytem Actions/artefaktów w tym repo
|
TOKEN: ${{ secrets.GITEATOKEN }}
|
||||||
BUILD_PATH: ${{ env.BUILD_WORKFLOW_PATH }}
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
RESP="$(curl -sfSL -H "Authorization: token $TOKEN" \
|
URL="$API/repos/$OWNER/$REPO/actions/runs?status=success&branch=main&per_page=20"
|
||||||
"$API/repos/$OWNER/$REPO/actions/runs?status=success&branch=main&per_page=20")"
|
echo "GET $URL"
|
||||||
RUN_ID="$(echo "$RESP" | jq -r --arg p "$BUILD_PATH" '
|
RESP="$(curl -sfSL -H "Authorization: token $TOKEN" "$URL")"
|
||||||
|
echo "$RESP" | jq -e '.workflow_runs' >/dev/null
|
||||||
|
|
||||||
|
RUN_ID="$(echo "$RESP" | jq -r '
|
||||||
.workflow_runs
|
.workflow_runs
|
||||||
| map(select(
|
| map(select(
|
||||||
(.head_branch=="main")
|
(.head_branch=="main")
|
||||||
@@ -56,13 +71,12 @@ jobs:
|
|||||||
and (.conclusion=="success")
|
and (.conclusion=="success")
|
||||||
and (
|
and (
|
||||||
(.path? // .workflow_path? // .workflow?.path? // "")
|
(.path? // .workflow_path? // .workflow?.path? // "")
|
||||||
| test($p + "$")
|
| test("(\\.gitea|\\.github)/workflows/build\\.yml$")
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
| sort_by(.run_number) | reverse | .[0].id // empty
|
| sort_by(.run_number) | reverse | .[0].id // empty
|
||||||
')"
|
')"
|
||||||
test -n "$RUN_ID" && echo "run_id=$RUN_ID" >> $GITHUB_OUTPUT || { echo "No successful build found"; exit 1; }
|
test -n "$RUN_ID" && echo "run_id=$RUN_ID" >> $GITHUB_OUTPUT || { echo "No successful build found"; exit 1; }
|
||||||
|
|
||||||
- name: Download artifacts (frontend, webapi)
|
- name: Download artifacts (frontend, webapi)
|
||||||
env:
|
env:
|
||||||
API: ${{ steps.repo.outputs.api }}
|
API: ${{ steps.repo.outputs.api }}
|
||||||
|
|||||||
Reference in New Issue
Block a user