diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..9e7c07c --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,55 @@ +name: Cross Compile Go +run-name: Build and Bundle + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: '1.23' + + # Build ARM64 + - name: Build ARM64 + run: GOOS=linux GOARCH=arm64 go build -v -o crawler_main-linux-arm64 . + + # Build AMD64 + - name: Build AMD64 + run: GOOS=linux GOARCH=amd64 go build -v -o crawler_main-linux-amd64 . + + # Create organized archives for download + - name: Bundle Artifacts + run: | + # Create a directory for ARM64 release + mkdir release-arm64 + cp crawler_main-linux-arm64 release-arm64/crawler_main + cp config.yaml release-arm64/ + tar -czvf release-arm64.tar.gz -C release-arm64 . + + # Create a directory for AMD64 release + mkdir release-amd64 + cp crawler_main-linux-amd64 release-amd64/crawler_main + tar -czvf release-amd64.tar.gz -C release-amd64 . + + - name: Upload ARM64 Artifact + uses: actions/upload-artifact@v3 + with: + name: linux-arm64 + path: release-arm64.tar.gz + if-no-files-found: error + + - name: Upload AMD64 Artifact + uses: actions/upload-artifact@v3 + with: + name: linux-amd64 + path: release-amd64.tar.gz + if-no-files-found: error \ No newline at end of file