diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..0ef6a62 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,39 @@ +--- +name: Test + +on: # yamllint disable-line rule:truthy + push: + branches: + - 1.x + pull_request: + branches: + - 1.x + +jobs: + test: + runs-on: ubuntu-latest + + strategy: + fail-fast: true + matrix: + vespa-cli-version: [latest, 8.371.16] + + steps: + - uses: actions/checkout@v4 + + - name: Setup Vespa CLI + uses: ./ + with: + version: ${{ matrix.vespa-cli-version }} + + - name: Verify Vespa CLI + run: vespa version + + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Lint YAML files + run: yamllint --format github . diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..e566e23 --- /dev/null +++ b/action.yml @@ -0,0 +1,39 @@ +--- +name: "Setup Vespa CLI" +description: "Installs the Vespa CLI tool on the runner." + +inputs: + # The version of the Vespa CLI to install. + version: + description: "The version of the Vespa CLI to install." + default: "latest" + +runs: + using: "composite" + steps: + - name: Select CLI version + shell: bash + id: vespa-cli-version + run: | + if [ "${{ inputs.version }}" == "latest" ]; then + VESPA_CLI_VERSION=$(curl -fsSL https://api.github.com/repos/vespa-engine/vespa/releases/latest | jq -r '.tag_name' | sed 's/^v//') + else + VESPA_CLI_VERSION="${{ inputs.version }}" + fi + + echo "version=${VESPA_CLI_VERSION}" >> "$GITHUB_OUTPUT" + + - name: Install Vespa CLI + shell: bash + env: + VESPA_CLI_VERSION: ${{ steps.vespa-cli-version.outputs.version }} + RUNNER_OS: ${{ runner.os }} + RUNNER_ARCH: ${{ runner.arch }} + run: | + ARCHIVE_NAME="vespa-cli_${VESPA_CLI_VERSION}_${RUNNER_OS}_${RUNNER_ARCH}" + DOWNLOAD_URL="https://github.com/vespa-engine/vespa/releases/download/v${VESPA_CLI_VERSION}/${ARCHIVE_NAME}.tar.gz" + curl -fsSL "${DOWNLOAD_URL}" | tar -zxf - -C /opt && \ + ln -sf /opt/${ARCHIVE_NAME}/bin/vespa /usr/local/bin/ + + # Verify the installation + vespa version