name: Install nim description: Install the given nim version inputs: nimVersion: description: a nim version string like 2.2.2 or 2.0.8 required: true os: description: a os string like "linux" "windows" required: true runs: env: nimPath: "nim-${{inputs.nimVersion}}-${{inputs.os}}_x64.tar.xz" nimUrl: "https://nim-lang.org/download/${{env.nimPath}}" steps: ## Tries to use the cached version of the nim tar ball - name: cache restore id: cachestep1 uses: https://code.forgejo.org/actions/cache/restore@v4 with: path: ${{env.nimPath}} key: ${{env.nimPath}} # - name: cache hit # run: | # set -x # test "${{ steps.cachestep1.outputs.cache-hit }}" != true - name: cache hit run: | if [ ! ${{ steps.cachestep1.outputs.cache-hit }} ]; then echo "Download nim tarball" wget ${{env.nimUrl}} fi # # Download if no cache hit # - run: wget https://nim-lang.org/download/nim-2.2.2-linux_x64.tar.xz - name: cache save uses: https://code.forgejo.org/actions/cache/save@v4 with: path: ${{env.nimPath}} key: ${{ steps.cachestep1.outputs.cache-primary-key }} - run: tar xvf ${{env.nimPath}} - run: ln -s `pwd`/nim-${{inputs.nimVersion}}/bin/* /usr/bin/ - run: gcc --version - run: nim --version - run: nimble --version # - uses: actions/upload-artifact@v3 # with: # name: myBuild # path: testRunner