mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	Merge pull request '[RELEASE] copy the release to forgejo-experimental if tests pass' (#2377) from earl-warren/forgejo:wip-test-release into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2377
This commit is contained in:
		
				commit
				
					
						ad79ba6a00
					
				
			
		
					 5 changed files with 47 additions and 9 deletions
				
			
		| 
						 | 
					@ -71,7 +71,6 @@ cpu.out
 | 
				
			||||||
/tests/e2e/test-artifacts
 | 
					/tests/e2e/test-artifacts
 | 
				
			||||||
/tests/e2e/test-snapshots
 | 
					/tests/e2e/test-snapshots
 | 
				
			||||||
/tests/*.ini
 | 
					/tests/*.ini
 | 
				
			||||||
/node_modules
 | 
					 | 
				
			||||||
/yarn.lock
 | 
					/yarn.lock
 | 
				
			||||||
/yarn-error.log
 | 
					/yarn-error.log
 | 
				
			||||||
/npm-debug.log*
 | 
					/npm-debug.log*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -110,7 +110,7 @@ jobs:
 | 
				
			||||||
          #
 | 
					          #
 | 
				
			||||||
          # Push a commit to a branch that triggers the build of a test release
 | 
					          # Push a commit to a branch that triggers the build of a test release
 | 
				
			||||||
          #
 | 
					          #
 | 
				
			||||||
          version=forgejo-test
 | 
					          version=0.0-test
 | 
				
			||||||
          (
 | 
					          (
 | 
				
			||||||
            git clone $url/root/forgejo /tmp/forgejo
 | 
					            git clone $url/root/forgejo /tmp/forgejo
 | 
				
			||||||
            cd /tmp/forgejo
 | 
					            cd /tmp/forgejo
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,8 +14,6 @@
 | 
				
			||||||
#  secrets.CASCADE_DESTINATION_TOKEN: <generated from code.forgejo.org/forgejo-ci> scope read:user, write:repository, write:issue
 | 
					#  secrets.CASCADE_DESTINATION_TOKEN: <generated from code.forgejo.org/forgejo-ci> scope read:user, write:repository, write:issue
 | 
				
			||||||
#  vars.CASCADE_DESTINATION_DOER: forgejo-ci
 | 
					#  vars.CASCADE_DESTINATION_DOER: forgejo-ci
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
name: Build release
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  push:
 | 
					  push:
 | 
				
			||||||
    tags: 'v[0-9]+.[0-9]+.*'
 | 
					    tags: 'v[0-9]+.[0-9]+.*'
 | 
				
			||||||
| 
						 | 
					@ -30,6 +28,8 @@ jobs:
 | 
				
			||||||
    if: vars.ROLE == 'forgejo-integration' || github.repository_owner == 'root'
 | 
					    if: vars.ROLE == 'forgejo-integration' || github.repository_owner == 'root'
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          fetch-depth: 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Sanitize the name of the repository
 | 
					      - name: Sanitize the name of the repository
 | 
				
			||||||
        id: repository
 | 
					        id: repository
 | 
				
			||||||
| 
						 | 
					@ -53,8 +53,12 @@ jobs:
 | 
				
			||||||
          set -x
 | 
					          set -x
 | 
				
			||||||
          ref="${{ github.ref }}"
 | 
					          ref="${{ github.ref }}"
 | 
				
			||||||
          if [[ $ref =~ ^refs/heads/ ]] ; then
 | 
					          if [[ $ref =~ ^refs/heads/ ]] ; then
 | 
				
			||||||
            version=${ref#refs/heads/}
 | 
					            if test "$ref" = "refs/heads/forgejo" ; then
 | 
				
			||||||
            version=${version%/forgejo}-test
 | 
					              version=0.0-test
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					              version=${ref#refs/heads/}
 | 
				
			||||||
 | 
					              version=${version%/forgejo}-test
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
            override=true
 | 
					            override=true
 | 
				
			||||||
          fi
 | 
					          fi
 | 
				
			||||||
          if [[ $ref =~ ^refs/tags/ ]] ; then
 | 
					          if [[ $ref =~ ^refs/tags/ ]] ; then
 | 
				
			||||||
| 
						 | 
					@ -66,6 +70,7 @@ jobs:
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
          fi
 | 
					          fi
 | 
				
			||||||
          version=${version#v}
 | 
					          version=${version#v}
 | 
				
			||||||
 | 
					          git describe --tags --always
 | 
				
			||||||
          echo "sha=${{ github.sha }}" >> "$GITHUB_OUTPUT"
 | 
					          echo "sha=${{ github.sha }}" >> "$GITHUB_OUTPUT"
 | 
				
			||||||
          echo "version=$version" >> "$GITHUB_OUTPUT"
 | 
					          echo "version=$version" >> "$GITHUB_OUTPUT"
 | 
				
			||||||
          echo "override=$override" >> "$GITHUB_OUTPUT"
 | 
					          echo "override=$override" >> "$GITHUB_OUTPUT"
 | 
				
			||||||
| 
						 | 
					@ -81,6 +86,18 @@ jobs:
 | 
				
			||||||
          ENDVAR
 | 
					          ENDVAR
 | 
				
			||||||
          EOF
 | 
					          EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: cache node_modules
 | 
				
			||||||
 | 
					        id: node
 | 
				
			||||||
 | 
					        uses: https://code.forgejo.org/actions/cache@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          path: |
 | 
				
			||||||
 | 
					            node_modules
 | 
				
			||||||
 | 
					          key: node-${{ steps.release-info.outputs.version }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: skip if node cache hit
 | 
				
			||||||
 | 
					        if: steps.node.outputs.cache-hit != 'true'
 | 
				
			||||||
 | 
					        run: echo no hit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Build sources
 | 
					      - name: Build sources
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          set -x
 | 
					          set -x
 | 
				
			||||||
| 
						 | 
					@ -177,7 +194,7 @@ jobs:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: end-to-end tests
 | 
					      - name: end-to-end tests
 | 
				
			||||||
        if: ${{ secrets.TOKEN != '' && vars.ROLE == 'forgejo-integration' }}
 | 
					        if: ${{ secrets.TOKEN != '' && vars.ROLE == 'forgejo-integration' }}
 | 
				
			||||||
        uses: https://code.forgejo.org/actions/cascading-pr@v1
 | 
					        uses: https://code.forgejo.org/actions/cascading-pr@v2
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          origin-url: ${{ env.GITHUB_SERVER_URL }}
 | 
					          origin-url: ${{ env.GITHUB_SERVER_URL }}
 | 
				
			||||||
          origin-repo: ${{ github.repository }}
 | 
					          origin-repo: ${{ github.repository }}
 | 
				
			||||||
| 
						 | 
					@ -191,3 +208,25 @@ jobs:
 | 
				
			||||||
          update: .forgejo/cascading-release-end-to-end
 | 
					          update: .forgejo/cascading-release-end-to-end
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          FORGEJO_BINARY: "${{ env.GITHUB_SERVER_URL }}/${{ github.repository }}/releases/download/v${{ steps.release-info.outputs.version }}/forgejo-${{ steps.release-info.outputs.version }}-linux-amd64"
 | 
					          FORGEJO_BINARY: "${{ env.GITHUB_SERVER_URL }}/${{ github.repository }}/releases/download/v${{ steps.release-info.outputs.version }}/forgejo-${{ steps.release-info.outputs.version }}-linux-amd64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: copy to experimental
 | 
				
			||||||
 | 
					        if: vars.ROLE == 'forgejo-integration' && secrets.TOKEN != ''
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          if test "${{ vars.VERBOSE }}" = true ; then
 | 
				
			||||||
 | 
					            set -x
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          tag=v${{ steps.release-info.outputs.version }}
 | 
				
			||||||
 | 
					          url=https://any:${{ secrets.TOKEN }}@codeberg.org
 | 
				
			||||||
 | 
					          if test "${{ steps.release-info.outputs.override }}" = "true" ; then
 | 
				
			||||||
 | 
					            curl -sS -X DELETE $url/api/v1/repos/forgejo-experimental/forgejo/releases/tags/$tag > /dev/null
 | 
				
			||||||
 | 
					            curl -sS -X DELETE $url/api/v1/repos/forgejo-experimental/forgejo/tags/$tag > /dev/null
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          # actions/checkout@v3 sets http.https://codeberg.org/.extraheader with the automatic token.
 | 
				
			||||||
 | 
					          # Get rid of it so it does not prevent using the token that has write permissions
 | 
				
			||||||
 | 
					          git config --local --unset http.https://codeberg.org/.extraheader
 | 
				
			||||||
 | 
					          if test -f .git/shallow ; then
 | 
				
			||||||
 | 
					            echo "unexptected .git/shallow file is present"
 | 
				
			||||||
 | 
					            echo "it suggests a checkout --depth X was used which may prevent pushing the commit"
 | 
				
			||||||
 | 
					            echo "it happens when actions/checkout is called without depth: 0"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          git push $url/forgejo-experimental/forgejo ${{ steps.release-info.outputs.sha }}:refs/tags/$tag
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,7 @@ RUN apk --no-cache add build-base git nodejs npm
 | 
				
			||||||
COPY . ${GOPATH}/src/code.gitea.io/gitea
 | 
					COPY . ${GOPATH}/src/code.gitea.io/gitea
 | 
				
			||||||
WORKDIR ${GOPATH}/src/code.gitea.io/gitea
 | 
					WORKDIR ${GOPATH}/src/code.gitea.io/gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN make clean-all
 | 
					RUN make clean
 | 
				
			||||||
RUN make frontend
 | 
					RUN make frontend
 | 
				
			||||||
RUN go build contrib/environment-to-ini/environment-to-ini.go && xx-verify environment-to-ini
 | 
					RUN go build contrib/environment-to-ini/environment-to-ini.go && xx-verify environment-to-ini
 | 
				
			||||||
RUN make RELEASE_VERSION=$RELEASE_VERSION go-check generate-backend static-executable && xx-verify gitea
 | 
					RUN make RELEASE_VERSION=$RELEASE_VERSION go-check generate-backend static-executable && xx-verify gitea
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,7 @@ RUN apk --no-cache add build-base git nodejs npm
 | 
				
			||||||
COPY . ${GOPATH}/src/code.gitea.io/gitea
 | 
					COPY . ${GOPATH}/src/code.gitea.io/gitea
 | 
				
			||||||
WORKDIR ${GOPATH}/src/code.gitea.io/gitea
 | 
					WORKDIR ${GOPATH}/src/code.gitea.io/gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN make clean-all
 | 
					RUN make clean
 | 
				
			||||||
RUN make frontend
 | 
					RUN make frontend
 | 
				
			||||||
RUN go build contrib/environment-to-ini/environment-to-ini.go && xx-verify environment-to-ini
 | 
					RUN go build contrib/environment-to-ini/environment-to-ini.go && xx-verify environment-to-ini
 | 
				
			||||||
RUN make RELEASE_VERSION=$RELEASE_VERSION go-check generate-backend static-executable && xx-verify gitea
 | 
					RUN make RELEASE_VERSION=$RELEASE_VERSION go-check generate-backend static-executable && xx-verify gitea
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue