diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 70cca876..cbee180f 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -10,6 +10,7 @@ jobs: variables: outputs: sem_ver: ${{ steps.var.outputs.sem_ver }} + archive_exclusions: ${{ steps.var.outputs.archive_exclusions }} runs-on: "ubuntu-latest" steps: - name: Setting global variables @@ -18,6 +19,11 @@ jobs: with: script: | core.setOutput('sem_ver', '${{ github.ref_name }}'.replaceAll('Release\/', '')) + # If this value gets too long it can cause issues with Windows + # command-line length and zip/tar will fail + # And all the exclusions need to be prefixed with the 'root' + # directory. + core.setOutput('archive_exclusions', 'EDMarketConnector/EDMarketConnector-release-*.* EDMarketConnector/dist.win32 EDMarketConnector/__pycache__/ EDMarketConnector/.editorconfig EDMarketConnector/.flake8 EDMarketConnector/.git* EDMarketConnector/.mypy.ini EDMarketConnector/.pre-commit-config.yaml EDMarketConnector/Build-exe-and-msi.py EDMarketConnector/*.manifest EDMarketConnector/coriolis-data/ EDMarketConnector/img/ EDMarketConnector/out/ EDMarketConnector/out.zip EDMarketConnector/pyproject.toml EDMarketConnector/scripts/ EDMarketConnector/tests/ EDMarketConnector/wix/ EDMarketConnector/WinSparkle.*') windows_build: needs: [variables] @@ -70,15 +76,25 @@ jobs: # directory. # NB: If this gets too long it can cause zip 'Command Line Error', # presumably due to a Windows CL length limit. - exclusions: 'EDMarketConnector/EDMarketConnector-release-*.zip EDMarketConnector/dist.win32 EDMarketConnector/__pycache__/ EDMarketConnector/.editorconfig EDMarketConnector/.flake8 EDMarketConnector/.git* EDMarketConnector/.mypy.ini EDMarketConnector/.pre-commit-config.yaml EDMarketConnector/Build-exe-and-msi.py EDMarketConnector/*.manifest EDMarketConnector/coriolis-data/ EDMarketConnector/img/ EDMarketConnector/out/ EDMarketConnector/out.zip EDMarketConnector/pyproject.toml EDMarketConnector/scripts/ EDMarketConnector/tests/ EDMarketConnector/wix/ EDMarketConnector/WinSparkle.*' + exclusions: ${{ needs.variables.outputs.archive_exclusions }} + + - name: Make tar archive + uses: thedoctor0/zip-release@main + with: + # See the 'zip' version above for commentary on these values + type: 'tar' + path: 'EDMarketConnector' + filename: 'EDMarketConnector/EDMarketConnector-release-${{ needs.variables.outputs.sem_ver }}.tar.gz' + exclusions: ${{ needs.variables.outputs.archive_exclusions }} - name: Upload build files uses: actions/upload-artifact@v3 with: name: Built files path: | - EDMarketConnector_win*.msi + EDMarketConnector_win_*.msi EDMarketConnector-release-*.zip + EDMarketConnector-release-*.tar.gz release: name: Release new version @@ -94,7 +110,7 @@ jobs: path: ./ - name: Hash files - run: sha256sum EDMarketConnector_win*.msi EDMarketConnector-release*.zip > ./hashes.sum + run: sha256sum EDMarketConnector_win_*.msi EDMarketConnector-release-*.{zip,tar.gz} > ./hashes.sum - name: Create Draft Release uses: "softprops/action-gh-release@v1" @@ -104,6 +120,7 @@ jobs: prerelease: true discussion_category_name: "Announcement" files: | - ./EDMarketConnector_win*.msi + ./EDMarketConnector_win_*.msi ./EDMarketConnector-release-*.zip + ./EDMarketConnector-release-*.tar.gz ./hashes.sum