name: Elsa 3 Prerelease on: workflow_dispatch: push: branches: - v3 release: types: [ prereleased ] env: feedz_feed_source: 'https://f.feedz.io/elsa-workflows/elsa-3/nuget/index.json' nuget_feed_source: 'https://api.nuget.org/v3/index.json' jobs: build: name: Build packages runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v3 - name: Verify commit exists in origin/v3 run: | git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/* git branch --remote --contains | grep origin/v3 - name: Set VERSION variable run: echo "VERSION=3.0.0-preview.${{github.run_number}}" >> $GITHUB_ENV - name: Build designer package working-directory: ./src/modules/Elsa.Workflows.Designer run: | npm install --force npm run build - name: Build run: dotnet build --configuration Release /p:Version=${VERSION} - name: Test run: dotnet test --configuration Release /p:Version=${VERSION} --no-build - name: Pack run: dotnet pack --configuration Release /p:Version=${VERSION} /p:PackageOutputPath=$(pwd)/packages - name: Upload artifact uses: actions/upload-artifact@v3 with: name: elsa-nuget-packages path: packages/*nupkg if: ${{ github.event_name == 'release' || github.event_name == 'push'}} publish_preview_feedz: name: Publish to feedz.io needs: build runs-on: ubuntu-latest timeout-minutes: 10 if: ${{ github.event_name == 'release' || github.event_name == 'push'}} steps: - name: Download Packages uses: actions/download-artifact@v3 with: name: elsa-nuget-packages - name: Publish to feedz.io run: dotnet nuget push *.nupkg -k ${{ secrets.FEEDZ_API_KEY }} -s ${{ env.feedz_feed_source }} --skip-duplicate publish_preview_nuget: name: Publish to nuget.org needs: build runs-on: ubuntu-latest timeout-minutes: 10 if: ${{ github.event_name == 'release' || github.event_name == 'prereleased' }} steps: - name: Download Packages uses: actions/download-artifact@v3 with: name: elsa-nuget-packages - name: Publish to nuget.org run: dotnet nuget push *.nupkg -k ${{ secrets.NUGET_API_KEY }} -s ${{ env.nuget_feed_source }} --skip-duplicate