diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..f1ba8d3 --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,48 @@ +name: Build and publish mistserver + +on: + push: + tags: + - 'v*' + +jobs: + build: + runs-on: alpine-linux + steps: + - name: checkout + uses: actions/checkout@v4 + + - name: Restore Dependencies + run: dotnet restore ./MistoxServer + + - name: Dotnet Publish + run: dotnet publish ./MistoxServer --configuration Release --output ./publish --no-restore + + - name: Archive Production Artifacts + run: | + cd ./publish + zip -r ../mistserver-${{ github.ref_name }}.zip . + cd .. + + # 2. Publish directly to Gitea Releases + - name: Create Gitea Release + uses: https://gitea.com/actions/release-action@main + with: + # Automatically uses the tag string pushed (e.g., v1.2.3) + name: "Release ${{ github.ref_name }}" + + # Change this text to your desired version description (Supports Markdown) + body: | + ## Mistserver Version ${{ github.ref_name }} + Automated deployment build compiled on Alpine Linux. + + ### Changelog + - Compiled via Gitea Actions + - Run ID: ${{ github.run_id }} + + # Target the zipped artifact we generated in step 1 + files: | + mistserver-*.zip + + # Uses Gitea's automatically injected repository token for authorization + api_key: '${{ secrets.GITHUB_TOKEN }}' \ No newline at end of file