mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 19:32:17 +08:00 
			
		
		
		
	* Rename check-coverage.yml to check-coverage.bak * Rename release.yml to release.bak * Update .env * Rename sync.yml to sync.bak * Rename sync-release.yml to sync-release.bak
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# Copyright © 2023 OpenIM. All rights reserved.
 | 
						|
#
 | 
						|
# Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
# you may not use this file except in compliance with the License.
 | 
						|
# You may obtain a copy of the License at
 | 
						|
#
 | 
						|
#     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
#
 | 
						|
# Unless required by applicable law or agreed to in writing, software
 | 
						|
# distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
# See the License for the specific language governing permissions and
 | 
						|
# limitations under the License.
 | 
						|
 | 
						|
name: OpenIM Server Release Workflow
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    # run only against tags
 | 
						|
    tags:
 | 
						|
      - '*'
 | 
						|
 | 
						|
permissions:
 | 
						|
  contents: write
 | 
						|
  packages: write
 | 
						|
  issues: write
 | 
						|
 | 
						|
jobs:
 | 
						|
  goreleaser:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
        with:
 | 
						|
          fetch-depth: 0
 | 
						|
      - run: git fetch --force --tags
 | 
						|
      - uses: actions/setup-go@v5
 | 
						|
        with:
 | 
						|
          go-version: stable
 | 
						|
      # More assembly might be required: Docker logins, GPG, etc. It all depends
 | 
						|
      # on your needs.
 | 
						|
      - uses: goreleaser/goreleaser-action@v5
 | 
						|
        with:
 | 
						|
          # either 'goreleaser' (default) or 'goreleaser-pro':
 | 
						|
          distribution: goreleaser
 | 
						|
          version: latest
 | 
						|
          workdir: .
 | 
						|
          args: release -f ./build/goreleaser.yaml --clean --release-footer-tmpl=scripts/template/footer.md.tmpl --release-header-tmpl=scripts/template/head.md.tmpl
 | 
						|
        env:
 | 
						|
          USERNAME: ${{ github.repository_owner }}
 | 
						|
          GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
 | 
						|
          FURY_TOKEN: ${{ secrets.FURY_TOKEN }}
 | 
						|
          # Your GoReleaser Pro key, if you are using the 'goreleaser-pro'
 | 
						|
          # distribution:
 | 
						|
          # GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
 | 
						|
 | 
						|
  goreleaser-check-pkgs:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    env:
 | 
						|
      DOCKER_CLI_EXPERIMENTAL: "enabled"
 | 
						|
    needs: [ goreleaser ]
 | 
						|
    if: github.ref == 'refs/heads/main'
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        format: [ deb, rpm, apk ]
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4 # v3
 | 
						|
        with:
 | 
						|
          fetch-depth: 0
 | 
						|
      - uses: arduino/setup-task@e26d8975574116b0097a1161e0fe16ba75d84c1c # v1
 | 
						|
        with:
 | 
						|
          version: 3.x
 | 
						|
          repo-token: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
      - uses: docker/setup-qemu-action@326560df218a7ea9cf6ab49bbc88b8b306bb437e # v2
 | 
						|
      - uses: actions/cache@a2ed59d39b352305bdd2f628719a53b2cc4f9613 # v3
 | 
						|
        with:
 | 
						|
          path: |
 | 
						|
            ./_output/dist/*.deb
 | 
						|
            ./_output/dist/*.rpm
 | 
						|
            ./_output/dist/*.apk
 | 
						|
          key: ${{ github.ref }}
 | 
						|
      - run: task goreleaser:test:${{ matrix.format }}
 |