diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f2f78dbb5..1f7ca39f2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,13 +65,66 @@ jobs: # # Use always() to always run this step to publish test results when there are test failures # if: ${{ always() }} - versioning: + # versioning: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 + # # This is only to get the next version number so we can set the version before compile + # - name: Conventional Changelog Action + # id: changelog + # uses: TriPSs/conventional-changelog-action@v3 + # with: + # github-token: ${{ secrets.github_token }} + # skip-version-file: 'true' + # skip-commit: 'true' + # version-file: 'version.json' + # output-file: 'false' + # skip-on-empty: 'false' + + # - name: Output version + # run: | + # echo "outputs: ${{ steps.changelog.outputs.tag }}" + # echo "Version: ${{ steps.changelog.outputs.version }}" + # echo "log: ${{ steps.changelog.outputs.clean_changelog }}" + + publish: runs-on: ubuntu-latest + needs: [ build-ui ] + strategy: + matrix: + include: + - os: win10-x64 + format: zip + compression: zip + - os: win10-x86 + format: zip + compression: zip + - os: linux-x64 + format: tar.gz + compression: tar + - os: linux-arm + format: tar.gz + compression: tar + - os: linux-arm64 + compression: tar + format: tar.gz + - os: osx-x64 + compression: tar + format: tar.gz steps: - uses: actions/checkout@v2 + + - name: Nuget Cache + uses: actions/cache@v2 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} + restore-keys: | + ${{ runner.os }}-nuget + # This is only to get the next version number so we can set the version before compile - name: Conventional Changelog Action - id: changelog + id: pre-build-changelog uses: TriPSs/conventional-changelog-action@v3 with: github-token: ${{ secrets.github_token }} @@ -83,122 +136,70 @@ jobs: - name: Output version run: | - echo "outputs: ${{ steps.changelog.outputs.tag }}" - echo "Version: $${{ steps.changelog.outputs.version }}" - echo "log: ${{ steps.changelog.outputs.clean_changelog }}" - - # publish: - # runs-on: ubuntu-latest - # needs: [ build-ui ] - # strategy: - # matrix: - # include: - # - os: win10-x64 - # format: zip - # compression: zip - # - os: win10-x86 - # format: zip - # compression: zip - # - os: linux-x64 - # format: tar.gz - # compression: tar - # - os: linux-arm - # format: tar.gz - # compression: tar - # - os: linux-arm64 - # compression: tar - # format: tar.gz - # - os: osx-x64 - # compression: tar - # format: tar.gz - # steps: - # - uses: actions/checkout@v2 + echo "outputs: ${{ steps.pre-build-changelog.outputs }}" + echo "Version: ${{ steps.pre-build-changelog.outputs.version }}" + echo "Version: ${{ steps.pre-build-changelog.outputs.tag }}" - # - name: Nuget Cache - # uses: actions/cache@v2 - # with: - # path: ~/.nuget/packages - # key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} - # restore-keys: | - # ${{ runner.os }}-nuget - - # # This is only to get the next version number so we can set the version before compile - # - name: Conventional Changelog Action - # id: pre-build-changelog - # uses: TriPSs/conventional-changelog-action@v3 - # with: - # github-token: ${{ secrets.github_token }} - # skip-version-file: 'true' - # skip-commit: 'true' - # version-file: 'version.json' - # output-file: 'false' - - # - name: Output version - # run: | - # echo "outputs: ${{ steps.pre-build-changelog.outputs }}" - # echo "Version: ${{ steps.pre-build-changelog.outputs.version }}" - # echo "Version: ${{ steps.pre-build-changelog.outputs.tag }}" - - # - name: Set Backend Version - # run: | - # dotnet tool install -g dotnet-setversion - # setversion -r ${{ steps.pre-build-changelog.outputs.version }} - # working-directory: src/Ombi + - name: Set Backend Version + run: | + dotnet tool install -g dotnet-setversion + setversion -r ${{ steps.pre-build-changelog.outputs.version }} + working-directory: src/Ombi - # - name: Publish Backend ${{ matrix.os }} - # run: dotnet publish -c Release -r ${{ matrix.os }} -o "${{ matrix.os }}" --self-contained true -p:PublishSingleFile=true - # working-directory: src/Ombi + - name: Publish Backend ${{ matrix.os }} + run: dotnet publish -c Release -r ${{ matrix.os }} -o "${{ matrix.os }}" --self-contained true -p:PublishSingleFile=true + working-directory: src/Ombi - # - name: Download Angular - # uses: actions/download-artifact@v2 - # with: - # name: angular_dist - # path: ~/src/Ombi/dist + - name: Download Angular + uses: actions/download-artifact@v2 + with: + name: angular_dist + path: ~/src/Ombi/dist - # - name: Copy Dist to Artifacts - # run: | - # cd ${{ matrix.os }} - # sudo mkdir -p ClientApp/dist - # echo "mkdir /ClientApp" - # echo "list os (ClientApp should be here)" - # ls - # cd .. - # echo "Copy dist to /ClientApp" - # sudo mv ~/src/Ombi/dist/* ${{ matrix.os }}/ClientApp/dist - # working-directory: src/Ombi - - # - name: Archive Release - # uses: thedoctor0/zip-release@master - # with: - # type: '${{ matrix.compression }}' - # filename: '../${{ matrix.os }}.${{ matrix.format }}' - # path: '.' - # directory: 'src/Ombi/${{ matrix.os }}' + - name: Copy Dist to Artifacts + run: | + cd ${{ matrix.os }} + sudo mkdir -p ClientApp/dist + echo "mkdir /ClientApp" + echo "list os (ClientApp should be here)" + ls + cd .. + echo "Copy dist to /ClientApp" + sudo mv ~/src/Ombi/dist/* ${{ matrix.os }}/ClientApp/dist + working-directory: src/Ombi + + - name: Archive Release + uses: thedoctor0/zip-release@master + with: + type: '${{ matrix.compression }}' + filename: '../${{ matrix.os }}.${{ matrix.format }}' + path: '.' + directory: 'src/Ombi/${{ matrix.os }}' - # - name: Publish Release - # uses: actions/upload-artifact@v2 - # with: - # name: ${{ matrix.os }} - # path: | - # ./src/Ombi/${{ matrix.os }}.${{ matrix.format }} + - name: Publish Release + uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.os }} + path: | + ./src/Ombi/${{ matrix.os }}.${{ matrix.format }} - # release: - # needs: [ publish, unit-test ] - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v2 - # - name: Conventional Changelog Action - # uses: TriPSs/conventional-changelog-action@v3 - # with: - # github-token: ${{ secrets.github_token }} - # git-message: 'chore(release): {version}' - # version-file: 'version.json' - # output-file: 'CHANGELOG.md' + release: + needs: [ publish, unit-test ] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Conventional Changelog Action + uses: TriPSs/conventional-changelog-action@v3 + with: + github-token: ${{ secrets.github_token }} + git-message: 'chore(release): {version}' + version-file: 'version.json' + output-file: 'CHANGELOG.md' - # - name: Download Artifacts - # uses: actions/download-artifact@v2 - # with: - # path: artifacts + - name: Download Artifacts + uses: actions/download-artifact@v2 + with: + path: artifacts