Skip to content

feat(backup_service): support backups encryption #613

feat(backup_service): support backups encryption

feat(backup_service): support backups encryption #613

Workflow file for this run

name: Run YDBCP tests
on:
pull_request:
branches: [main]
types: [opened, synchronize, reopened]
jobs:
unittest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Cache go modules
uses: magnetikonline/action-golang-cache@v5
with:
go-version-file: go.mod
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install Protoc
uses: arduino/setup-protoc@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install proto plugins
run: |
go install google.golang.org/protobuf/cmd/[email protected]
go install google.golang.org/grpc/cmd/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Compile protos
run: make proto
- name: Build
run: |
go mod tidy
go build -v ./...
- name: Test
uses: robherley/[email protected]
with:
testArguments: './... -race --timeout=10s'
integration-test:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- enable_new_paths_format: false
enable_backups_encryption: false
- enable_new_paths_format: true
enable_backups_encryption: false
- enable_new_paths_format: true
enable_backups_encryption: true
env:
ENABLE_NEW_PATHS_FORMAT: ${{ matrix.enable_new_paths_format }}
ENABLE_BACKUPS_ENCRYPTION: ${{ matrix.enable_backups_encryption }}
steps:
- uses: actions/checkout@v4
- name: supply with s3 access keys
run: |
echo "ydbcp" > access_key
echo "password" > secret_key
- name: docker compose up
run: |
docker compose up --build -d
- name: run make_backup tests
run: |
while [ "$(docker inspect -f {{.State.Health.Status}} local-ydbcp)" != "healthy" ]; do
echo "Waiting for container to become healthy..."
sleep 1
done
echo "Starting tests!"
docker exec local-ydbcp sh -c './make_backup'
- name: docker compose down
run: |
docker compose down
- name: docker compose up
run: |
docker compose up -d
- name: run list_entities test
run: docker exec local-ydbcp sh -c './list_entities'
- name: docker compose down
run: |
docker compose down
- name: docker compose up
run: |
docker compose up -d
- name: run orm test
run: docker exec local-ydbcp sh -c './orm'
- name: docker compose down
run: |
docker compose down
- name: docker compose up
if: ${{ matrix.enable_new_paths_format }}
run: |
docker compose up -d
- name: run new_paths_format tests
if: ${{ matrix.enable_new_paths_format }}
run: |
while [ "$(docker inspect -f {{.State.Health.Status}} local-ydbcp)" != "healthy" ]; do
echo "Waiting for container to become healthy..."
sleep 1
done
echo "Starting new_paths_format tests!"
docker exec local-ydbcp sh -c './test_new_paths_format'
- name: docker compose down
if: ${{ matrix.enable_new_paths_format }}
run: |
docker compose down
- name: docker compose up
if: ${{ matrix.enable_backups_encryption }}
run: |
docker compose up -d
- name: run make_encrypted_backup tests
if: ${{ matrix.enable_backups_encryption }}
run: |
while [ "$(docker inspect -f {{.State.Health.Status}} local-ydbcp)" != "healthy" ]; do
echo "Waiting for container to become healthy..."
sleep 1
done
echo "Starting encrypted_backups tests!"
docker exec local-ydbcp sh -c './make_encrypted_backup'
- name: docker compose down
if: ${{ matrix.enable_backups_encryption }}
run: |
docker compose down