diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f71eac2..532073c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,15 +1,49 @@ - +name: Build & Publish on: push - + jobs: build: + name: Build runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3.5.3 + uses: actions/checkout@v4 - name: Setup .NET Core SDK uses: actions/setup-dotnet@v3.2.0 with: dotnet-version: 8.x + + - name: Build Project + run: dotnet build --configuration Release -o Output + + publish: + name: Publish to GitHub + runs-on: ubuntu-latest + needs: build + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Docker Login + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Normalize repository name + id: norm_name + run: | + echo IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV + + - name: Build and push Docker images + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: | + ${{ env.IMAGE_NAME }}:latest + ${{ env.IMAGE_NAME }}:${{ github.run_number }} diff --git a/Dockerfile b/Dockerfile index 0515e12..55fe5af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,6 @@ -FROM mcr.microsoft.com/dotnet/sdk:8.0-preview-alpine +FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine RUN apk add --no-cache curl unzip -FROM build RUN curl -OJL https://github.com/Yucked/Grimoire/archive/refs/heads/main.zip && \ unzip '*.zip' && \ mkdir app && mv Grimoire-main/* app/ && \ @@ -12,4 +11,4 @@ RUN dotnet restore && \ dotnet publish -c Release -o out WORKDIR out -ENTRYPOINT ["dotnet", "Grimoire.Web.dll"] \ No newline at end of file +ENTRYPOINT ["dotnet", "Grimoire.Web.dll"]