feat: add auth client and generate_disposable_token api #609
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
name: on-pull-request | |
on: | |
pull_request: | |
branches: [main] | |
env: | |
CARGO_TERM_COLOR: always | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
TEST_CACHE_NAME: rust-integration-test-ci-cache-${{ github.sha }} | |
TEST_STORE_NAME: rust-integration-test-ci-store-${{ github.sha }} | |
TEST_AUTH_CACHE_NAME: rust-integration-test-ci-cache-auth-${{ github.sha }} | |
jobs: | |
rustfmt: | |
name: main - Style & Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Log rust versions | |
run: | | |
set -e | |
set -x | |
rustc --version | |
cargo --version | |
rustup show | |
- name: Verify README generation | |
uses: momentohq/standards-and-practices/github-actions/oss-readme-template@gh-actions-v2 | |
with: | |
project_status: official | |
project_stability: beta | |
project_type: sdk | |
sdk_language: Rust | |
dev_docs_slug: rust | |
- name: Verify Example README generation | |
uses: momentohq/standards-and-practices/github-actions/oss-readme-template@gh-actions-v2 | |
with: | |
project_status: official | |
project_stability: beta | |
project_type: other | |
template_file: ./example/README.template.md | |
output_file: ./example/README.md | |
- name: Verify Rust Example README generation | |
uses: momentohq/standards-and-practices/github-actions/oss-readme-template@gh-actions-v2 | |
with: | |
project_status: official | |
project_stability: beta | |
project_type: other | |
template_file: ./example/rust/README.template.md | |
output_file: ./example/rust/README.md | |
- name: Verify CDK Lambda Example README generation | |
uses: momentohq/standards-and-practices/github-actions/oss-readme-template@gh-actions-v2 | |
with: | |
project_status: official | |
project_stability: beta | |
project_type: other | |
template_file: ./example/aws/cdk-lambda/README.template.md | |
output_file: ./example/aws/cdk-lambda/README.md | |
- name: Verify Zip Lambda Example README generation | |
uses: momentohq/standards-and-practices/github-actions/oss-readme-template@gh-actions-v2 | |
with: | |
project_status: official | |
project_stability: beta | |
project_type: other | |
template_file: ./example/aws/zip-lambda/README.template.md | |
output_file: ./example/aws/zip-lambda/README.md | |
- name: Commitlint and Other Shared Build Steps | |
uses: momentohq/standards-and-practices/github-actions/shared-build@gh-actions-v1 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Lint (rustfmt and clippy) | |
run: make lint | |
- name: Compile docs | |
run: make docs | |
build_rust: | |
runs-on: ubuntu-24.04 | |
env: | |
MOMENTO_API_KEY: ${{ secrets.ALPHA_TEST_AUTH_TOKEN }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Build | |
run: make build | |
- name: Test Setup | |
run: make ci-test-setup | |
- name: Unit tests | |
run: make test-unit | |
- name: Integration Tests | |
run: make test-integration | |
- name: Doc Tests | |
run: make test-doctests | |
- name: Test Teardown | |
# We want the teardown to execute even if an earlier step fails, hence the `always()` condition | |
if: always() | |
run: make ci-test-teardown | |
- name: Run examples | |
run: make run-examples | |
rustfmt-build-examples: | |
name: examples - Style & Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Commitlint and Other Shared Build Steps | |
uses: momentohq/standards-and-practices/github-actions/shared-build@gh-actions-v1 | |
- uses: Swatinem/rust-cache@v2 | |
- name: rustfmt -> rigorous lint via Clippy -> build | |
id: validation | |
continue-on-error: true | |
run: make build-examples | |
- name: Send CI failure mail | |
if: ${{ steps.validation.outcome == 'failure' }} | |
uses: ./.github/actions/error-email-action | |
with: | |
username: ${{secrets.MOMENTO_ROBOT_GMAIL_USERNAME}} | |
password: ${{secrets.MOMENTO_ROBOT_GMAIL_PASSWORD}} | |
- name: Flag Job Failure | |
if: ${{ steps.validation.outcome == 'failure' }} | |
run: exit 1 |