Skip to content

Conversation

@chrisgreg
Copy link
Owner

Summary

This PR sets up automated testing and publishing workflows for the FYI library:

  • βœ… CI workflow runs tests on push to main and PRs
  • πŸš€ Publish workflow publishes to Hex.pm on version tags (v*..)
  • πŸ“ Release script automates version bumps and changelog updates
  • πŸ“š CONTRIBUTING.md documents the complete release process

Changes

GitHub Actions Workflows

.github/workflows/ci.yml

  • Runs tests on multiple Elixir versions (1.14, 1.15, 1.16) and OTP versions (25, 26)
  • Checks code formatting with mix format --check-formatted
  • Ensures compilation has no warnings
  • Triggers on push to main and on pull requests

.github/workflows/publish.yml

  • Triggers on version tags (e.g., v1.0.1, v1.1.0)
  • Runs full test suite before publishing
  • Publishes to Hex.pm using HEX_API_KEY secret
  • Only publishes when you explicitly create and push a version tag

Release Automation

scripts/release.sh

  • Automates the entire release process
  • Usage: ./scripts/release.sh {patch|minor|major}
  • Bumps version in mix.exs
  • Updates CHANGELOG.md (moves [Unreleased] β†’ versioned section)
  • Creates git commit and tag
  • Provides clear next steps

CONTRIBUTING.md

  • Complete development setup guide
  • Contribution guidelines
  • Detailed release process documentation
  • Troubleshooting steps

CHANGELOG Updates

claude and others added 4 commits December 27, 2025 10:32
- CI workflow runs tests on push to main and PRs
- Tests run on multiple Elixir/OTP versions
- Includes formatting check and compilation warnings check
- Publish workflow publishes to Hex.pm on merge to main
- Add [Unreleased] section to CHANGELOG with HTTP client changes
- Create scripts/release.sh for automated version bumps
- Update publish workflow to trigger on version tags (v*.*.*) instead of main pushes
- Add CONTRIBUTING.md with development and release process documentation
@chrisgreg chrisgreg force-pushed the claude/setup-github-actions-X5DNg branch from c46513e to aa23432 Compare December 27, 2025 11:04
@chrisgreg chrisgreg merged commit aa5ba58 into main Dec 27, 2025
5 checks passed
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.

3 participants