name: Build "on": "push": "tags": - "v*" "branches": - "*" "pull_request": jobs: build: runs-on: ubuntu-latest env: GO111MODULE: "on" steps: - uses: actions/checkout@master - uses: actions/setup-go@v2 with: go-version: 1.17.6 - name: Prepare environment run: |- RELEASE_VERSION="${GITHUB_REF##*/}" if [[ "${RELEASE_VERSION}" != v* ]]; then RELEASE_VERSION='dev'; fi echo "RELEASE_VERSION=\"${RELEASE_VERSION}@${GITHUB_SHA:0:10}\"" | tee -a $GITHUB_ENV go mod vendor # Test - name: Unit Testing run: go test . # Win - run: GOOS=windows GOARCH=386 VERSION=${RELEASE_VERSION} make release - run: GOOS=windows GOARCH=amd64 VERSION=${RELEASE_VERSION} make release - run: GOOS=windows GOARCH=arm64 VERSION=${RELEASE_VERSION} make release # MacOS - run: GOOS=darwin GOARCH=amd64 VERSION=${RELEASE_VERSION} make release - run: GOOS=darwin GOARCH=arm64 VERSION=${RELEASE_VERSION} make release # Linux X86/AMD64 - run: GOOS=linux GOARCH=386 VERSION=${RELEASE_VERSION} make release - run: GOOS=linux GOARCH=amd64 VERSION=${RELEASE_VERSION} make release # Linux ARM - run: GOOS=linux GOARCH=arm GOARM=6 VERSION=${RELEASE_VERSION} make release - run: GOOS=linux GOARCH=arm64 VERSION=${RELEASE_VERSION} make release # Linux MIPS/MIPSLE - run: GOOS=linux GOARCH=mips GOMIPS=softfloat VERSION=${RELEASE_VERSION} make release - run: GOOS=linux GOARCH=mipsle GOMIPS=softfloat VERSION=${RELEASE_VERSION} make release # FreeBSD X86 - run: GOOS=freebsd GOARCH=386 VERSION=${RELEASE_VERSION} make release - run: GOOS=freebsd GOARCH=amd64 VERSION=${RELEASE_VERSION} make release # FreeBSD ARM/ARM64 - run: GOOS=freebsd GOARCH=arm GOARM=6 VERSION=${RELEASE_VERSION} make release - run: GOOS=freebsd GOARCH=arm64 VERSION=${RELEASE_VERSION} make release - run: ls -l build/aliddns-* - name: Create release if: startsWith(github.ref, 'refs/tags/v') id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} draft: false prerelease: false - name: Upload if: startsWith(github.ref, 'refs/tags/v') uses: xresloader/upload-to-github-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: file: "build/aliddns-*.tar.gz;build/aliddns-*.zip" tags: true draft: false