hishtory/.github/workflows/docker-compose-test.yml

55 lines
2.0 KiB
YAML
Raw Normal View History

name: Self-Hosting Docker Compose Tests
on:
workflow_dispatch:
pull_request:
push:
branches: [ master ]
jobs:
test:
runs-on: ubuntu-latest
steps:
2023-09-05 06:23:22 +02:00
- uses: actions/checkout@v3
- name: Set up Go
Run integration tests in parallel to speed up testing (#175) * Remove a few direct DB insertions to prepare for parallel tests * Revert "Remove a few direct DB insertions to prepare for parallel tests" This reverts commit f8a3552ad8b942d5ff98cc7722750a1640ebdc88. * Add rudimentary experiment of splitting tests into two chunks to make them faster * Add missing tag * Remove code that enforces that all goldens are used, since it is incompatible with how tests are currently split into chunks * Lay out the framework for checking goldens being used across all test runs * Fix missing brace * Revert "Remove code that enforces that all goldens are used, since it is incompatible with how tests are currently split into chunks" This reverts commit 06cc3eedbc5be6a09dbc3f274adcacd875eb25a8. * Add initial work towards checking that all goldens are used * Delete incorrect and unreferenced matrix * Upgrade actions/upload-artifact to see if that makes the download in the next job work * Alternatively, try downloading the artifact by name * Update golden checker to read all the golden artifacts * Swap to using glob to enumerate all golden files, rather than hardcoding them * Remove debugging commands * Remove goldens that are actually used * Remove another golden that is actually used * Add more comprehensive support for test sharding * Fix references to test shards and increase shard count * Shard the fuzz test * Add debug prints * Mark additional tests for sharding * Fix logic error that broke test sharding * Remove debug print * Fix incorrect logic with skipping the fuzz test * Move sharding functions to testutils and add some comments * Upgrade all setup-go actions to enable caching of deps * Remove goldens that don't exist * Remove new line * Reduce delay * Correct stage name * Remove incorrect skip code from the first version of sharding * Remove unused import * Reduce number of test shards to match GitHub's limit of 5 concurrent macos jobs * Use cask for installing homebrew to speed up github actions * More cleanup for unused goldens
2024-02-11 20:54:27 +01:00
uses: actions/setup-go@v4
with:
go-version: 1.21
- name: Docker Compose setup
run: |
set -euo pipefail
sudo apt-get update
sudo apt-get install -y zsh fish
curl -fsSL https://get.docker.com | sudo sh
sudo chmod 0755 -R /usr/share/zsh/ # Work around a weird bug where zsh on ubuntu actions gives that diretory 0777 which makes zsh refuse to start
sudo hostname ghaction-runner-hostname # Set a consistent hostname so we can run tests that depend on it
docker compose -f backend/server/docker-compose.yml build
2022-11-06 08:17:52 +01:00
docker compose -f backend/server/docker-compose.yml up -d
export HISHTORY_SERVER=http://localhost
go build
./hishtory install
- name: Docker Compose test
2023-09-08 07:45:24 +02:00
shell: bash -il {0}
run: |
2023-09-08 07:45:24 +02:00
set -eo pipefail
export HISHTORY_SERVER=http://localhost
source ~/.bashrc
# Check that hishtory query runs without errors
./hishtory query
# Run a command such that hishtory will record it
echo -e 'ls -Slah /\n' | zsh -is
# Sleep to ensure there is time for it to be recorded, since recordings are async
sleep 1
# Check that it was recorded
./hishtory export | grep "ls -Slah /"
# Check that we can redact it
HISHTORY_REDACT_FORCE=1 ./hishtory redact ls Slah
# And that it was redacted
! (./hishtory export | grep "ls -Slah /")
# Assert that the entry is syncing properly
./hishtory status -v | grep 'Sync Status: Synced'
# - name: Setup tmate session
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v3
# with:
# limit-access-to-actor: true