From 614009e20a983cf27f1758fc823e2f74aecc4075 Mon Sep 17 00:00:00 2001 From: fres_a Date: Tue, 26 May 2026 08:06:57 +0300 Subject: [PATCH] Keep sing-box workflow under .gitea/workflows --- .gitea/workflows/sing-box-rr-sdk-24.10.6.yml | 2 +- 13.txt | 237 ------------------- 2 files changed, 1 insertion(+), 238 deletions(-) delete mode 100644 13.txt diff --git a/.gitea/workflows/sing-box-rr-sdk-24.10.6.yml b/.gitea/workflows/sing-box-rr-sdk-24.10.6.yml index 979c5087..ff9d0824 100644 --- a/.gitea/workflows/sing-box-rr-sdk-24.10.6.yml +++ b/.gitea/workflows/sing-box-rr-sdk-24.10.6.yml @@ -170,7 +170,7 @@ jobs: make defconfig > "$GITHUB_WORKSPACE/logs/sdk-defconfig.log" 2>&1 set +e - # Clean first so the package rebuilds even when PKG_VERSION/PKG_RELEASE stay unchanged. + # Clean first so the package rebuilds even when VERSION stays unchanged. make -j"$(nproc)" package/sing-box-rr/clean > "$GITHUB_WORKSPACE/logs/pkg-clean.log" 2>&1 make -j"$(nproc)" package/sing-box-rr/compile V=s GO_BIN="$(command -v go)" > "$GITHUB_WORKSPACE/logs/pkg-build.log" 2>&1 rc=$? diff --git a/13.txt b/13.txt deleted file mode 100644 index ff9d0824..00000000 --- a/13.txt +++ /dev/null @@ -1,237 +0,0 @@ -name: sing-box sdk 24.10.6 - -on: - workflow_dispatch: - inputs: - rr_wrt_branch: - description: rr-wrt branch for SDK artifact lookup - required: false - default: rr-wrt-v24.10.6 - rr_wrt_artifact_name: - description: rr-wrt SDK artifact name - required: false - default: openwrt-filogic-sdk-ci - -jobs: - build: - runs-on: ubuntu-22.04 - timeout-minutes: 240 - env: - DEBIAN_FRONTEND: noninteractive - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: install deps - run: | - set -euxo pipefail - sudo apt-get update - sudo apt-get install -y \ - bash build-essential ca-certificates curl file findutils gawk git grep \ - gzip jq rsync sed tar unzip wget xz-utils zstd - - - name: setup external go - uses: actions/setup-go@v5 - with: - go-version-file: sing-box-rr/go.mod - cache: false - - - name: download sdk from rr-wrt artifact - shell: bash - env: - SAM_GAD: ${{ secrets.SAM_GAD }} - run: | - set -euxo pipefail - if [ -z "${SAM_GAD:-}" ]; then - echo "SAM_GAD secret is required for Gitea API artifact download" - exit 1 - fi - - RR_OWNER="routerich" - RR_REPO="rr-wrt" - RR_BRANCH='${{ inputs.rr_wrt_branch }}' - RR_ARTIFACT_NAME='${{ inputs.rr_wrt_artifact_name }}' - API_BASE="https://git.routerich.ru/api/v1/repos/${RR_OWNER}/${RR_REPO}/actions" - - if [[ "$SAM_GAD" == *:* ]]; then - AUTH_ARGS=(-u "$SAM_GAD") - else - AUTH_ARGS=(-H "Authorization: token $SAM_GAD") - fi - - artifacts_json="$RUNNER_TEMP/rr-wrt-artifacts.json" - curl -fsSL "${AUTH_ARGS[@]}" \ - "${API_BASE}/artifacts?name=${RR_ARTIFACT_NAME}&per_page=100&page=1" \ - -o "$artifacts_json" - - jq -r ' - def arr: - if type == "array" then . - elif has("artifacts") then .artifacts - elif has("data") then .data - else [] end; - arr[]? | "\(.id // "na")\t\(.name // "na")\t\(.workflow_run.head_branch? // .workflow_run.branch? // .workflow_run.ref? // .ref? // "na")\t\(.expired? // false)" - ' "$artifacts_json" > "$RUNNER_TEMP/rr-wrt-artifacts-list.txt" || true - head -n 20 "$RUNNER_TEMP/rr-wrt-artifacts-list.txt" || true - - artifact_id="$(jq -r --arg n "$RR_ARTIFACT_NAME" --arg b "$RR_BRANCH" ' - def arr: - if type == "array" then . - elif has("artifacts") then .artifacts - elif has("data") then .data - else [] end; - [ - arr[]? - | select((.name // "") == $n) - | select( - ( - .workflow_run.head_branch? - // .workflow_run.branch? - // .workflow_run.ref? - // .ref? - // .source_branch? - // "" - ) == $b - ) - | select((.expired? // false) == false) - ] - | sort_by(.id // 0) - | reverse - | .[0].id // empty - ' "$artifacts_json")" - - if [ -z "$artifact_id" ]; then - artifact_id="$(jq -r --arg n "$RR_ARTIFACT_NAME" ' - def arr: - if type == "array" then . - elif has("artifacts") then .artifacts - elif has("data") then .data - else [] end; - [ - arr[]? - | select((.name // "") == $n) - | select((.expired? // false) == false) - ] - | sort_by(.id // 0) - | reverse - | .[0].id // empty - ' "$artifacts_json")" - fi - - if [ -z "$artifact_id" ]; then - echo "No artifact found: name=${RR_ARTIFACT_NAME}, branch=${RR_BRANCH}" - exit 1 - fi - - mkdir -p "$RUNNER_TEMP/sdk" "$RUNNER_TEMP/sdk-artifact" - SDK_ARTIFACT_ZIP="$RUNNER_TEMP/sdk-artifact.zip" - curl -fL "${AUTH_ARGS[@]}" \ - "${API_BASE}/artifacts/${artifact_id}/zip" \ - -o "$SDK_ARTIFACT_ZIP" - - unzip -q "$SDK_ARTIFACT_ZIP" -d "$RUNNER_TEMP/sdk-artifact" - - SDK_ARCHIVE="$(find "$RUNNER_TEMP/sdk-artifact" -type f -name '*.tar.zst' | head -n1)" - test -n "$SDK_ARCHIVE" - - tar --zstd -xf "$SDK_ARCHIVE" -C "$RUNNER_TEMP/sdk" - - SDK_DIR="$(find "$RUNNER_TEMP/sdk" -mindepth 1 -maxdepth 1 -type d | head -n1)" - test -n "$SDK_DIR" - - echo "SDK_SOURCE_ARTIFACT_ID=$artifact_id" >> "$GITHUB_ENV" - echo "SDK_ARCHIVE=$SDK_ARCHIVE" >> "$GITHUB_ENV" - echo "SDK_DIR=$SDK_DIR" >> "$GITHUB_ENV" - - - name: stage sing-box-rr package into sdk - shell: bash - run: | - set -euxo pipefail - test -d "$SDK_DIR" - - rm -rf "$SDK_DIR/package/sing-box-rr" - mkdir -p "$SDK_DIR/package/sing-box-rr" - - rsync -a --delete ./sing-box-rr/ "$SDK_DIR/package/sing-box-rr/" - cp -f ./VERSION "$SDK_DIR/package/VERSION" - cp -f ./SOURCE_DATE_EPOCH "$SDK_DIR/package/SOURCE_DATE_EPOCH" - - - name: build package in sdk - id: build - continue-on-error: true - shell: bash - run: | - set -euxo pipefail - mkdir -p logs - cd "$SDK_DIR" - - go version > "$GITHUB_WORKSPACE/logs/go-version.log" 2>&1 - command -v go > "$GITHUB_WORKSPACE/logs/go-bin.log" 2>&1 - make defconfig > "$GITHUB_WORKSPACE/logs/sdk-defconfig.log" 2>&1 - - set +e - # Clean first so the package rebuilds even when VERSION stays unchanged. - make -j"$(nproc)" package/sing-box-rr/clean > "$GITHUB_WORKSPACE/logs/pkg-clean.log" 2>&1 - make -j"$(nproc)" package/sing-box-rr/compile V=s GO_BIN="$(command -v go)" > "$GITHUB_WORKSPACE/logs/pkg-build.log" 2>&1 - rc=$? - if [ "$rc" -ne 0 ]; then - tail -n 400 "$GITHUB_WORKSPACE/logs/pkg-build.log" || true - fi - exit "$rc" - - - name: collect packages artifact - if: always() - shell: bash - run: | - set -euo pipefail - mkdir -p artifacts/packages logs - - find "$SDK_DIR/bin/packages" -type f -name 'sing-box-rr_*.ipk' -print | sort > logs/packages-found.txt || true - - pkg="$(tail -n1 logs/packages-found.txt || true)" - if [ -n "${pkg:-}" ]; then - cp -f "$pkg" artifacts/packages/ - else - echo "err sing-box-rr package not found in sdk output" | tee -a logs/packages-filter.txt - fi - - pkg_count=$(find artifacts/packages -maxdepth 1 -type f -name 'sing-box-rr_*.ipk' | wc -l | tr -d ' ') - if [ "$pkg_count" -ne 1 ]; then - echo "err expected exactly 1 sing-box-rr package in artifact, got $pkg_count" | tee -a logs/packages-filter.txt - exit 1 - fi - - ls -lah artifacts/packages > logs/packages-ls.txt 2>&1 || true - - - name: upload logs - if: always() - uses: christopherhx/gitea-upload-artifact@v4 - with: - name: sing-box-rr-build-logs - path: logs/ - if-no-files-found: warn - compression-level: 0 - - - name: upload sdk archive - if: always() - uses: christopherhx/gitea-upload-artifact@v4 - with: - name: openwrt-sdk-24.10.6 - path: ${{ env.SDK_ARCHIVE }} - if-no-files-found: warn - compression-level: 0 - - - name: upload packages artifact - if: always() - uses: christopherhx/gitea-upload-artifact@v4 - with: - name: sing-box-rr-packages-24.10.6 - path: artifacts/packages/ - if-no-files-found: warn - compression-level: 0 - - - name: fail workflow if build failed - if: steps.build.outcome == 'failure' - run: | - echo "package build failed" - exit 1