Add DB.CloseForRestart
method for liteserv process restarts
#142
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
env: | |
GO_VERSION: "1.21" | |
name: Commit | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- run: | | |
go install golang.org/x/tools/cmd/goimports@latest | |
go install honnef.co/go/tools/cmd/staticcheck@latest | |
export PATH="$HOME/go/bin:$PATH" | |
- uses: pre-commit/[email protected] | |
build-windows: | |
name: Build Windows | |
runs-on: ubuntu-latest | |
steps: | |
- run: sudo apt-get install -y mingw-w64 | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- run: | | |
go build ./cmd/litestream/ | |
file ./litestream.exe | |
env: | |
CGO_ENABLED: "1" | |
GOOS: windows | |
GOARCH: amd64 | |
CC: x86_64-w64-mingw32-gcc | |
build: | |
name: Build & Unit Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- run: go env | |
- run: go install ./cmd/litestream | |
- run: go test -v ./... | |
# - name: Build integration test | |
# run: go test -c ./integration | |
# | |
# - uses: actions/upload-artifact@v2 | |
# with: | |
# name: integration.test | |
# path: integration.test | |
# if-no-files-found: error | |
# long-running-test: | |
# name: Run Long Running Unit Test | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: actions/setup-go@v2 | |
# with: | |
# go-version: '1.20' | |
# - uses: actions/cache@v2 | |
# with: | |
# path: ~/go/pkg/mod | |
# key: ${{ inputs.os }}-go-${{ hashFiles('**/go.sum') }} | |
# restore-keys: ${{ inputs.os }}-go- | |
# | |
# - run: go install ./cmd/litestream | |
# - run: go test -v -run=TestCmd_Replicate_LongRunning ./integration -long-running-duration 1m | |
# s3-integration-test: | |
# name: Run S3 Integration Tests | |
# runs-on: ubuntu-latest | |
# needs: build | |
# steps: | |
# - uses: actions/download-artifact@v2 | |
# with: | |
# name: integration.test | |
# - run: chmod +x integration.test | |
# | |
# - run: ./integration.test -test.v -test.run=TestReplicaClient -replica-type s3 | |
# env: | |
# LITESTREAM_S3_ACCESS_KEY_ID: ${{ secrets.LITESTREAM_S3_ACCESS_KEY_ID }} | |
# LITESTREAM_S3_SECRET_ACCESS_KEY: ${{ secrets.LITESTREAM_S3_SECRET_ACCESS_KEY }} | |
# LITESTREAM_S3_REGION: us-east-1 | |
# LITESTREAM_S3_BUCKET: integration.litestream.io | |
# gcp-integration-test: | |
# name: Run GCP Integration Tests | |
# runs-on: ubuntu-latest | |
# needs: build | |
# steps: | |
# - name: Extract GCP credentials | |
# run: 'echo "$GOOGLE_APPLICATION_CREDENTIALS" > /opt/gcp.json' | |
# shell: bash | |
# env: | |
# GOOGLE_APPLICATION_CREDENTIALS: ${{secrets.GOOGLE_APPLICATION_CREDENTIALS}} | |
# | |
# - uses: actions/download-artifact@v2 | |
# with: | |
# name: integration.test | |
# - run: chmod +x integration.test | |
# | |
# - run: ./integration.test -test.v -test.run=TestReplicaClient -replica-type gcs | |
# env: | |
# GOOGLE_APPLICATION_CREDENTIALS: /opt/gcp.json | |
# LITESTREAM_GCS_BUCKET: integration.litestream.io | |
# abs-integration-test: | |
# name: Run Azure Blob Store Integration Tests | |
# runs-on: ubuntu-latest | |
# needs: build | |
# steps: | |
# - uses: actions/download-artifact@v2 | |
# with: | |
# name: integration.test | |
# - run: chmod +x integration.test | |
# | |
# - run: ./integration.test -test.v -test.run=TestReplicaClient -replica-type abs | |
# env: | |
# LITESTREAM_ABS_ACCOUNT_NAME: ${{ secrets.LITESTREAM_ABS_ACCOUNT_NAME }} | |
# LITESTREAM_ABS_ACCOUNT_KEY: ${{ secrets.LITESTREAM_ABS_ACCOUNT_KEY }} | |
# LITESTREAM_ABS_BUCKET: integration | |
# sftp-integration-test: | |
# name: Run SFTP Integration Tests | |
# runs-on: ubuntu-latest | |
# needs: build | |
# steps: | |
# - name: Extract SSH key | |
# run: 'echo "$LITESTREAM_SFTP_KEY" > /opt/id_ed25519' | |
# shell: bash | |
# env: | |
# LITESTREAM_SFTP_KEY: ${{secrets.LITESTREAM_SFTP_KEY}} | |
# | |
# - name: Run sftp tests | |
# run: go test -v -run=TestReplicaClient ./integration -replica-type sftp | |
# env: | |
# LITESTREAM_SFTP_HOST: ${{ secrets.LITESTREAM_SFTP_HOST }} | |
# LITESTREAM_SFTP_USER: ${{ secrets.LITESTREAM_SFTP_USER }} | |
# LITESTREAM_SFTP_KEY_PATH: /opt/id_ed25519 | |
# LITESTREAM_SFTP_PATH: ${{ secrets.LITESTREAM_SFTP_PATH }} |