Skip to content

ci: Add GitHub Actions workflow for CI/CD pipeline#59

Draft
affonsov wants to merge 4 commits into
masterfrom
affonsov/ci
Draft

ci: Add GitHub Actions workflow for CI/CD pipeline#59
affonsov wants to merge 4 commits into
masterfrom
affonsov/ci

Conversation

@affonsov

Copy link
Copy Markdown
  • Add CI workflow triggered on pull requests to master branch
  • Set up JDK 8 (Corretto distribution) for build environment
  • Install Ant and ant-contrib build tools
  • Install memcached server for integration testing
  • Configure build step to compile project with Ant
  • Configure unit test execution via Ant test target
  • Configure static integration tests with memcached binary path
  • Upload test reports as artifacts for all build outcomes
  • Enables automated testing and validation on all pull requests

Issue #, if available:

Description of changes:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

affonsov added 4 commits July 13, 2026 17:56
- Add CI workflow triggered on pull requests to master branch
- Set up JDK 8 (Corretto distribution) for build environment
- Install Ant and ant-contrib build tools
- Install memcached server for integration testing
- Configure build step to compile project with Ant
- Configure unit test execution via Ant test target
- Configure static integration tests with memcached binary path
- Upload test reports as artifacts for all build outcomes
- Enables automated testing and validation on all pull requests

Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
- Pin GitHub Actions dependencies to specific commit hashes for security and reproducibility
* actions/checkout to v4.2.2
* actions/setup-java to v4.7.1
* actions/upload-artifact to v4.6.2
- Add fetch-depth: 0 to checkout action for full repository history
- Simplify Ant installation by removing ant-contrib dependency
- Streamline memcached installation step by removing unnecessary which command
- Split artifact upload into separate unit and integration test report steps for clarity
- Rename generic test-reports artifact to integration-test-reports for better organization
- Increase WokenUpOnIdleTest latch timeout from 5 to 10 seconds to reduce flakiness

Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
- Add step to stop system memcached service before build
- Prevent port conflicts with memcached instances started by tests
- Use `|| true` to handle cases where service is not running

Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
- Install libevent-dev dependency required for building memcached from source
- Replace apt-get memcached installation with git clone and build from source at version 1.6.44
- Update memcached binary path from /usr/bin/memcached to /usr/local/bin/memcached for integration tests
- Remove explicit systemctl stop command as it's no longer needed with source build
- Ensures consistent memcached version across CI environments and provides better control over build configuration

Signed-off-by: affonsov <67347924+affonsov@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant