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 jobs: install_nim: runs-on: docker 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: | if [ ! ${{steps.cachestep1.outputs.cache-hit}} ]; then echo "Download nim tarball" wget ${{env.nimUrl}} fi - name: cache save uses: https://code.forgejo.org/actions/cache/save@v4 with: path: ${{env.nimPath}} key: ${{steps.cachestep1.outputs.cache-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