feat: add workflows
This commit is contained in:
		
							parent
							
								
									90d3d676f3
								
							
						
					
					
						commit
						a6e1af91ed
					
				
							
								
								
									
										60
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,60 @@
 | 
			
		||||
name: release
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    tags:
 | 
			
		||||
      - v*
 | 
			
		||||
      - default
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  GITHUB_TOKEN: ${{ github.token }}
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  release:
 | 
			
		||||
    name: Build on Push Tag 🚀
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
 | 
			
		||||
      - name: Checkout Code
 | 
			
		||||
        id: checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
 | 
			
		||||
      - name: Setup Build Tools
 | 
			
		||||
        run: |
 | 
			
		||||
          sudo apt-get update
 | 
			
		||||
          sudo apt-get install -y gcc make
 | 
			
		||||
 | 
			
		||||
      - name: Setup NDK
 | 
			
		||||
        uses: nttld/setup-ndk@v1
 | 
			
		||||
        id: setup-ndk
 | 
			
		||||
        with:
 | 
			
		||||
          ndk-version: r26d
 | 
			
		||||
          add-to-path: false
 | 
			
		||||
      
 | 
			
		||||
      - name: Setup Go Environment
 | 
			
		||||
        uses: actions/setup-go@master
 | 
			
		||||
 | 
			
		||||
      - name: Download Go Modules
 | 
			
		||||
        run: go mod tidy
 | 
			
		||||
 | 
			
		||||
      - name: Cache Downloaded Modules
 | 
			
		||||
        uses: actions/cache@master
 | 
			
		||||
        with:
 | 
			
		||||
          path: |
 | 
			
		||||
            ~/.cache/go-build
 | 
			
		||||
            ~/go/pkg/mod
 | 
			
		||||
          key: ${{ runner.os }}-go-${{ matrix.goos }}-${{ matrix.goarch }}-${{ hashFiles('**/go.sum') }}
 | 
			
		||||
 | 
			
		||||
      - name: Build Libraries
 | 
			
		||||
        env:
 | 
			
		||||
          NDK_TOOLCHAIN: ${{ steps.setup-ndk.outputs.ndk-path }}
 | 
			
		||||
          BUILD_MACHINE: linux
 | 
			
		||||
        run: make
 | 
			
		||||
 | 
			
		||||
      - name: Upload Binaries to Release
 | 
			
		||||
        uses: svenstaro/upload-release-action@v2
 | 
			
		||||
        with:
 | 
			
		||||
          repo_token: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
          file: build/*.gz
 | 
			
		||||
          tag: ${{ github.ref }}
 | 
			
		||||
          overwrite: true
 | 
			
		||||
          file_glob: true
 | 
			
		||||
							
								
								
									
										43
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
			
		||||
name: test
 | 
			
		||||
on: [ push, pull_request ]
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  test_ubuntu:
 | 
			
		||||
    name: Run Make Test on Ubuntu 🧪
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
 | 
			
		||||
      - name: Checkout Code
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
 | 
			
		||||
      - name: Setup Build Tools
 | 
			
		||||
        run: |
 | 
			
		||||
          sudo apt-get update
 | 
			
		||||
          sudo apt-get install -y gcc make
 | 
			
		||||
 | 
			
		||||
      - name: Setup NDK
 | 
			
		||||
        uses: nttld/setup-ndk@v1
 | 
			
		||||
        id: setup-ndk
 | 
			
		||||
        with:
 | 
			
		||||
          ndk-version: r26d
 | 
			
		||||
          add-to-path: false
 | 
			
		||||
 | 
			
		||||
      - name: Setup Go Environment
 | 
			
		||||
        uses: actions/setup-go@master
 | 
			
		||||
 | 
			
		||||
      - name: Download Go Modules
 | 
			
		||||
        run: go mod tidy
 | 
			
		||||
 | 
			
		||||
      - name: Cache Downloaded Modules
 | 
			
		||||
        uses: actions/cache@master
 | 
			
		||||
        with:
 | 
			
		||||
          path: |
 | 
			
		||||
            ~/.cache/go-build
 | 
			
		||||
            ~/go/pkg/mod
 | 
			
		||||
          key: ${{ runner.os }}-go-${{ matrix.goos }}-${{ matrix.goarch }}-${{ hashFiles('**/go.sum') }}
 | 
			
		||||
 | 
			
		||||
      - name: Build and Run Tests
 | 
			
		||||
        env:
 | 
			
		||||
          NDK_TOOLCHAIN: ${{ steps.setup-ndk.outputs.ndk-path }}
 | 
			
		||||
          BUILD_MACHINE: linux
 | 
			
		||||
        run: make runtest
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user