diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 2b927f1..139095e 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -7,7 +7,7 @@ on: jobs: build: container: - image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:ubuntu-latest + image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:ci-test volumes: - /home/actions/.ssh:/root/.ssh steps: @@ -15,28 +15,31 @@ jobs: uses: https://gitea.com/BoYanZh/checkout@focs - name: Setup Go 1.23.1 run: | - wget -q https://studygolang.com/dl/golang/go1.23.2.linux-amd64.tar.gz - rm -rf /usr/local/go - tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz - rm -rf go1.23.2.linux-amd64.tar.gz echo "PATH=$PATH:/usr/local/go/bin:/root/go/bin" >> $GITHUB_ENV - name: Display Go version run: go version - name: Prepare run: | - go env -w GO111MODULE=on - go env -w GOPROXY=https://goproxy.io,direct chown -R root:root /root/.ssh - - name: Setup golangci-lint - run: | - wget -q https://ghp.ci/https://github.com/golangci/golangci-lint/releases/download/v1.61.0/golangci-lint-1.61.0-linux-amd64.tar.gz - tar -C /tmp -xzf golangci-lint-1.61.0-linux-amd64.tar.gz - rm -rf golangci-lint-1.61.0-linux-amd64.tar.gz - mkdir -p /root/go/bin - mv /tmp/golangci-lint-1.61.0-linux-amd64/golangci-lint /root/go/bin - name: Setup Joint-Teapot run: | - pip install git+https://ghp.ci/https://github.com/BoYanZh/Joint-Teapot + if [ -f /master_hash.txt ]; then + local_hash=$(cat /master_hash.txt) + else + local_hash="" + fi + + remote_hash=$(git ls-remote https://ghp.ci/https://github.com/BoYanZh/Joint-Teapot | grep master | awk '{print $1}') + + echo "Local hash: $local_hash" + echo "Remote hash: $remote_hash" + + if [ "$local_hash" != "$remote_hash" ]; then + echo "Hashes are different, updating Joint-Teapot..." + pip install git+https://ghp.ci/https://github.com/BoYanZh/Joint-Teapot + else + echo "Hashes are the same, no update required." + fi - name: Lint run: make lint - name: Build @@ -73,3 +76,45 @@ jobs: git commit --allow-empty -m "chore: trigger gitea actions by JOJ3" fi git push + triger-update-ci: + container: + image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:ci-test + volumes: + - /home/actions/.ssh:/root/.ssh + needs: build + steps: + - name: Check update + run: | + if [ -f /master_hash.txt ]; then + local_hash=$(cat /master_hash.txt) + else + local_hash="" + fi + + remote_hash=$(git ls-remote https://ghp.ci/https://github.com/BoYanZh/Joint-Teapot | grep master | awk '{print $1}') + + echo "Local hash: $local_hash" + echo "Remote hash: $remote_hash" + + if [ "$local_hash" != "$remote_hash" ]; then + echo "Hashes are different, updating Joint-Teapot..." + echo "HASH_MATCH=false" >> $GITHUB_ENV + else + echo "Hashes are the same, no update required." + echo "HASH_MATCH=true" >> $GITHUB_ENV + fi + - name: Set up Git + if: env.HASH_MATCH == 'false' + run: | + git config --global user.name "gitea-actions[bot]" + git config --global user.email "gitea-actions[bot]@users.noreply.gitea.com" + chown -R root:root /root/.ssh + - name: Clone, Commit and Push + shell: bash + if: env.HASH_MATCH== 'false' + run: | + git clone ssh://git@focs.ji.sjtu.edu.cn:2222/JOJ/runner-images.git runner-images + cd runner-images + git checkout ci-test + make build + make push