name: MacOS 15 Intel s3cmd test permissions: {} on: pull_request jobs: build: name: RunTests runs-on: macos-15-intel steps: - name: Check out code into the Go module directory uses: actions/checkout@v7 - name: Install base dependencies run: | ./tests/install_base_dependencies.sh - name: Set up Go uses: actions/setup-go@v7 with: go-version: "stable" id: go - name: Get Dependencies run: | go get -v -t -d ./... - name: Upgrade bash run: | brew install bash echo "$(brew --prefix)/bin" >> "$GITHUB_PATH" - name: Install BATS run: | git clone https://github.com/bats-core/bats-core.git cd bats-core && ./install.sh ${{ github.workspace }} git clone https://github.com/bats-core/bats-support.git ${{ github.workspace }}/tests/bats-support git clone https://github.com/ztombol/bats-assert.git ${{ github.workspace }}/tests/bats-assert # disable mc tests due to dl.min.io instability # - name: Install mc # run: | # curl https://dl.min.io/client/mc/release/linux-amd64/mc --create-dirs -o /usr/local/bin/mc # chmod 755 /usr/local/bin/mc # see https://github.com/versity/versitygw/issues/1034 - name: Install AWS cli run: | curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.22.35.zip" -o "awscliv2.zip" unzip -o awscliv2.zip ./aws/install -i ${{ github.workspace }}/aws-cli -b ${{ github.workspace }}/bin echo "${{ github.workspace }}/bin" >> $GITHUB_PATH - name: Create test user run: | sudo sysadminctl -addUser tester -shell /bin/bash -home /Users/tester -createHome sudo mkdir -p /Users/tester/test-files sudo chown -R tester:staff /Users/tester - name: Write env file for test user env: IAM_TYPE: folder RUN_SET: tests/test_user_s3cmd.sh AWS_PROFILE: versity VERSITY_EXE: ${{ github.workspace }}/versitygw RUN_VERSITYGW: true BACKEND: posix RECREATE_BUCKETS: true DELETE_BUCKETS_AFTER_TEST: true CERT: /Users/tester/test-files/cert.pem KEY: /Users/tester/test-files/versitygw.pem LOCAL_FOLDER: /tmp/gw BUCKET_ONE_NAME: versity-gwtest-bucket-one BUCKET_TWO_NAME: versity-gwtest-bucket-two USERS_FOLDER: /Users/tester/test-files/iam USERS_BUCKET: versity-gwtest-iam AWS_ENDPOINT_URL: https://127.0.0.1:7070 PORT: 7070 S3CMD_CONFIG: tests/s3cfg.local.default MC_ALIAS: versity LOG_LEVEL: 4 GOCOVERDIR: /Users/tester/test-files/cover USERNAME_ONE: HIJKLMN PASSWORD_ONE: 1234567 USERNAME_TWO: OPQRSTU PASSWORD_TWO: 8901234 TEST_FILE_FOLDER: /Users/tester/test-files/versity-gwtest-files REMOVE_TEST_FILE_FOLDER: true VERSIONING_DIR: /Users/tester/test-files/versioning COMMAND_LOG: /Users/tester/test-files/command.log TIME_LOG: /Users/tester/test-files/time.log PYTHON_ENV_FOLDER: /Users/tester/test-files/env AUTOGENERATE_USERS: true USER_AUTOGENERATION_PREFIX: github-actions-test- AWS_REGION: us-east-1 COVERAGE_LOG: /Users/tester/test-files/coverage.log TEMPLATE_MATRIX_FILE: ${{ github.workspace }}/tests/templates/matrix.yaml run: | cat > /Users/runner/.env </dev/null || true sleep 10 kill -KILL -"$pid" 2>/dev/null || true ) & watchdog=$! wait "$pid" status=$? kill "$watchdog" 2>/dev/null || true exit "$status"