diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 56acbbc..4a378f8 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -42,6 +42,9 @@ jobs: toolchain: stable profile: minimal default: true + - name: Set up GCC (Windows) + if: runner.os == 'Windows' + run: .\.github\workflows\gcc.ps1 - name: Set up Go uses: actions/setup-go@v2 with: diff --git a/.github/workflows/gcc.ps1 b/.github/workflows/gcc.ps1 new file mode 100644 index 0000000..03fe3ff --- /dev/null +++ b/.github/workflows/gcc.ps1 @@ -0,0 +1,4 @@ +Invoke-WebRequest 'https://wilsonl.in/TDM-GCC-64.7z' -OutFile C:\gcc.7z +7z x C:\gcc.7z -oC:\ +$oldpath = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH).Path +Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value "C:\TDM-GCC-64\bin;$oldpath" diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index 122430d..fcebf07 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -25,22 +25,31 @@ jobs: FILE: 'hyperbuild_java.dll' steps: - uses: actions/checkout@v1 + - name: Set up Rust uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal default: true + + - name: Set up GCC (Windows) + if: runner.os == 'Windows' + run: .\.github\workflows\gcc.ps1 + - name: Set up Go uses: actions/setup-go@v2 with: go-version: '^1.14.0' + - name: Run prebuild steps shell: bash run: bash ./prebuild.sh + - name: Build Java native library run: cargo build --release working-directory: ./java + - name: Upload built library uses: actions/upload-artifact@v1 with: diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index e266b41..fb70eb3 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -23,27 +23,37 @@ jobs: ARCH: windows-x86_64 steps: - uses: actions/checkout@v1 + - name: Get version id: version shell: bash run: echo ::set-output name=VERSION::"$([[ "$GITHUB_REF" == refs/tags/v* ]] && echo ${GITHUB_REF#refs/tags/v} || echo '0.0.0')" + - name: Set up Node.js uses: actions/setup-node@master with: node-version: ${{ matrix.node }}.x + - name: Set up Rust uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal default: true + + - name: Set up GCC (Windows) + if: runner.os == 'Windows' + run: .\.github\workflows\gcc.ps1 + - name: Set up Go uses: actions/setup-go@v2 with: go-version: '^1.14.0' + - name: Run prebuild steps shell: bash run: bash ./prebuild.sh + - name: Build native module working-directory: ./nodejs shell: bash @@ -51,15 +61,18 @@ jobs: npm install npm run build node compress.js + - name: Install B2 CLI (macOS, Linux) if: runner.os != 'Windows' run: | sudo pip install setuptools sudo pip install --upgrade b2 + - name: Install B2 CLI (Windows) if: runner.os == 'Windows' run: | pip install --upgrade b2 + - name: Upload to B2 shell: bash run: | diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 5105427..5a9d086 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -29,6 +29,10 @@ jobs: profile: minimal default: true + - name: Set up GCC (Windows) + if: runner.os == 'Windows' + run: .\.github\workflows\gcc.ps1 + - name: Set up Go uses: actions/setup-go@v2 with: