diff --git a/.gitea/workflows/gitea-ci.yml b/.gitea/workflows/gitea-ci.yml index 00350f5..91db48e 100755 --- a/.gitea/workflows/gitea-ci.yml +++ b/.gitea/workflows/gitea-ci.yml @@ -9,8 +9,8 @@ env: ASPNETCORE_ENVIRONMENT: Production jobs: - release: - name: check and build + build: + name: Build .NET Application runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -20,14 +20,40 @@ jobs: uses: actions/setup-dotnet@v4 with: dotnet-version: 9.0.x + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y tar - name: Install telegram bot library run: dotnet nuget add source https://pkgs.dev.azure.com/tgbots/Telegram.Bot/_packaging/release/nuget/v3/index.json -n Telegram.Bot - name: dotnet restore - run: dotnet restore - - name: dotnet build - run: dotnet build --no-restore -c Release + run: dotnet restore --no-cache - name: dotnet publish - run: | - pushd src - dotnet publish -c Release -r linux-x64 --self-contained true /p:PublishSingleFile=true /p:PublishTrimmed=false /p:EnableCompressionInSingleFile=true - popd + run: dotnet publish -c Release -r linux-x64 --self-contained true /p:PublishSingleFile=true /p:PublishTrimmed=false /p:EnableCompressionInSingleFile=true + - name: Create tarball + run: tar -czvf publish.tar.gz -C bin/Release/net9.0/linux-x64/publish/ . + + docker: + name: Build and push Docker image + runs-on: ubuntu-latest + needs: build + steps: + - uses: actions/checkout@v4 + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Log in to Container registry + uses: docker/login-action@v2 + with: + registry: git.mahdium.ir + username: ${{ secrets.USERNAME }} + password: ${{ secrets.PASSWORD }} + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: git.mahdium.ir/mahdium/cats-of-mastodon-telegram-bot + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}