diff --git a/.github/actions/install_nim/action.yml b/.github/actions/install_nim/action.yml deleted file mode 100644 index 0eaf219..0000000 --- a/.github/actions/install_nim/action.yml +++ /dev/null @@ -1,131 +0,0 @@ -name: Install Nim -inputs: - os: - description: "Operating system to build for" - required: true - cpu: - description: "CPU to build for" - default: "amd64" - nim_branch: - description: "Nim version" - default: "version-1-6" - shell: - description: "Shell to run commands in" - default: "bash --noprofile --norc -e -o pipefail" - -runs: - using: "composite" - steps: - - name: Install build dependencies (Linux i386) - shell: ${{ inputs.shell }} - if: inputs.os == 'Linux' && inputs.cpu == 'i386' - run: | - sudo dpkg --add-architecture i386 - sudo apt-get update -qq - sudo DEBIAN_FRONTEND='noninteractive' apt-get install \ - --no-install-recommends -yq gcc-multilib g++-multilib \ - libssl-dev:i386 - mkdir -p external/bin - cat << EOF > external/bin/gcc - #!/bin/bash - exec $(which gcc) -m32 "\$@" - EOF - cat << EOF > external/bin/g++ - #!/bin/bash - exec $(which g++) -m32 "\$@" - EOF - chmod 755 external/bin/gcc external/bin/g++ - echo '${{ github.workspace }}/external/bin' >> $GITHUB_PATH - - - name: MSYS2 (Windows i386) - if: inputs.os == 'Windows' && inputs.cpu == 'i386' - uses: msys2/setup-msys2@v2 - with: - path-type: inherit - msystem: MINGW32 - install: >- - base-devel - git - mingw-w64-i686-toolchain - - - name: MSYS2 (Windows amd64) - if: inputs.os == 'Windows' && inputs.cpu == 'amd64' - uses: msys2/setup-msys2@v2 - with: - path-type: inherit - install: >- - base-devel - git - mingw-w64-x86_64-toolchain - - - name: Restore Nim DLLs dependencies (Windows) from cache - if: inputs.os == 'Windows' - id: windows-dlls-cache - uses: actions/cache@v3 - with: - path: external/dlls - key: 'dlls' - - - name: Install DLL dependencies (Windows) - shell: ${{ inputs.shell }} - if: > - steps.windows-dlls-cache.outputs.cache-hit != 'true' && - inputs.os == 'Windows' - run: | - mkdir external - curl -L "https://nim-lang.org/download/windeps.zip" -o external/windeps.zip - 7z x external/windeps.zip -oexternal/dlls - - - name: Path to cached dependencies (Windows) - shell: ${{ inputs.shell }} - if: > - inputs.os == 'Windows' - run: | - echo '${{ github.workspace }}'"/external/dlls" >> $GITHUB_PATH - - - name: Derive environment variables - shell: ${{ inputs.shell }} - run: | - if [[ '${{ inputs.cpu }}' == 'amd64' ]]; then - PLATFORM=x64 - else - PLATFORM=x86 - fi - echo "PLATFORM=$PLATFORM" >> $GITHUB_ENV - - ncpu= - MAKE_CMD="make" - case '${{ inputs.os }}' in - 'Linux') - ncpu=$(nproc) - ;; - 'macOS') - ncpu=$(sysctl -n hw.ncpu) - ;; - 'Windows') - ncpu=$NUMBER_OF_PROCESSORS - MAKE_CMD="mingw32-make" - ;; - esac - [[ -z "$ncpu" || $ncpu -le 0 ]] && ncpu=1 - echo "ncpu=$ncpu" >> $GITHUB_ENV - echo "MAKE_CMD=${MAKE_CMD}" >> $GITHUB_ENV - echo '${{ github.workspace }}/nim/bin' >> $GITHUB_PATH - - - name: Restore Nim from cache - id: nim-cache - uses: actions/cache@v3 - with: - path: '${{ github.workspace }}/nim' - key: ${{ inputs.os }}-${{ inputs.cpu }}-nim-${{ inputs.nim_branch }}-cache-${{ env.cache_nonce }} - - - name: Build Nim and Nimble - shell: ${{ inputs.shell }} - if: ${{ steps.nim-cache.outputs.cache-hit != 'true' }} - run: | - # We don't want partial matches of the cache restored - rm -rf nim - curl -O -L -s -S https://raw.githubusercontent.com/status-im/nimbus-build-system/master/scripts/build_nim.sh - env MAKE="${MAKE_CMD} -j${ncpu}" ARCH_OVERRIDE=${PLATFORM} NIM_COMMIT=${{ inputs.nim_branch }} \ - QUICK_AND_DIRTY_COMPILER=1 QUICK_AND_DIRTY_NIMBLE=1 CC=gcc \ - bash build_nim.sh nim csources dist/nimble NimBinaries \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 68c8238..8bac617 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,23 +15,23 @@ jobs: - { icon: 🐧, label: Linux, - os: ubuntu, + os: ubuntu-latest, shell: bash --noprofile --norc -eo pipefail } - { icon: 🍎, label: macOS, - os: macos, + os: macos-13, shell: bash --noprofile --norc -eo pipefail } - { icon: 🏁, label: Windows, - os: windows, + os: windows-latest, shell: msys2 } name: ${{ matrix.platform.icon }} ${{ matrix.platform.label }} - Nim v${{ matrix.nim_version }} - runs-on: ${{ matrix.platform.os }}-latest + runs-on: ${{ matrix.platform.os }} defaults: run: shell: ${{ matrix.platform.shell }} {0}