Skip to content

Commit

Permalink
feat: Add workflow to verify guides
Browse files Browse the repository at this point in the history
 
This change adds a new GitHub Actions workflow to verify the guides in the repository. The workflow checks out the code, installs the required dependencies (including the Vespa CLI), builds the Jekyll site, and runs a set of tests to ensure the guides are working as expected.

The workflow is triggered on pull requests and pushes to a temporary branch, to allow for testing the configuration before merging to the main branch.
  • Loading branch information
esolitos authored and gitbutler-client committed Aug 7, 2024
1 parent d72ae1e commit 1cf892c
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .github/actions/install-deps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: "Setup Vespa CLI and dependencies"
description: "Install Vespa CLI and dependencies"

inputs:
# The version of the Vespa CLI to install.
vespa-cli-version:
description: "The version of the Vespa CLI to install."
required: true
default: "latest"

runs:
using: "composite"
steps:
- name: Select CLI version
id: vespa-cli-version
run: |
if [ "${{ inputs.vespa-cli-version }}" == "latest" ]; then
VESPA_CLI_VERSION=$(curl -fsSL https://api.github.com/repos/vespa-engine/vespa/releases/latest | grep -Po '"tag_name": "v\K.*?(?=")')
else
VESPA_CLI_VERSION="${{ inputs.vespa-cli-version }}"
fi
echo "version=${VESPA_CLI_VERSION}" >> "$GITHUB_OUTPUT"
- name: Install dnf dependencies
shell: bash
run: |
python3 -m pip install --upgrade pip
python3 -m pip install -qqq -r test/requirements.txt --user
python3 -m pip install -qqq pytest nbmake --user
- name: Install python dependencies
shell: bash
run: |
python3 -m pip install --upgrade pip
python3 -m pip install -qqq -r test/requirements.txt --user
python3 -m pip install -qqq pytest nbmake --user
- name: Install Vespa CLI
shell: bash
env:
VESPA_CLI_VERSION: ${{ steps.vespa-cli-version.outputs.version }}
run: |
curl -fsSL https://github.com/vespa-engine/vespa/releases/download/v${VESPA_CLI_VERSION}/vespa-cli_${VESPA_CLI_VERSION}_linux_amd64.tar.gz | tar -zxf - -C /opt && \
ln -sf /opt/vespa-cli_${VESPA_CLI_VERSION}_linux_amd64/bin/vespa /usr/local/bin/
47 changes: 47 additions & 0 deletions .github/workflows/verify-guides.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Verify Giudes

on:
workflow_dispatch: # Allow manual triggering of this workflow.

# START Temporary for testing.
pull_request:
branches: [main]
push:
branches: ["verify-guides-workflow-configuration"]
# END Temporary for testing.

defaults:
run:
# Specify to ensure "pipefail and errexit" are set.
# Ref: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#defaultsrunshell
shell: bash

jobs:
small:
runs-on: ubuntu-latest
container:
image: vespaengine/vespa-build-almalinux-8:latest
steps:
- uses: actions/checkout@v4

- uses: ./.github/actions/install-deps
with:
vespa-cli-version: latest

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1
bundler-cache: true

- name: build-site
run: |
bundle exec jekyll build
- name: check-queries
run: |
./test/test_queries.py _site
- name: run-tests
run: |
./test/test.py -c ./test/_test_config.yml -w $GITHUB_WORKSPACE

0 comments on commit 1cf892c

Please sign in to comment.