feat: add store proto #579
Workflow file for this run
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] | |
jobs: | |
build_javascript: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get current time | |
uses: gerred/actions/current-time@master | |
id: current-time | |
- uses: actions/checkout@v2 | |
- name: Commitlint and Other Shared Build Steps | |
uses: momentohq/standards-and-practices/github-actions/shared-build@gh-actions-v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 16 | |
- name: Install protoc | |
run: ./install_protoc.sh | |
- name: Build package | |
run: | | |
set -e | |
set -x | |
export PATH=`pwd`/protoc/bin/:$PATH | |
pushd javascript | |
npm ci | |
npm run build | |
popd | |
shell: bash | |
build_javascriptweb: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get current time | |
uses: gerred/actions/current-time@master | |
id: current-time | |
- uses: actions/checkout@v2 | |
- name: Install Node | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 16 | |
- name: Install protoc | |
run: ./install_protoc.sh | |
- name: Build package | |
run: | | |
set -e | |
set -x | |
export PATH=`pwd`/protoc/bin/:$PATH | |
pushd javascript-web | |
npm ci | |
npm run build | |
popd | |
shell: bash | |
build_java: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get current time | |
uses: gerred/actions/current-time@master | |
id: current-time | |
- uses: actions/checkout@v2 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 11 | |
- name: Install protoc | |
run: ./install_protoc.sh | |
- name: Build package | |
run: | | |
set -e | |
set -x | |
export PATH=`pwd`/protoc/bin/:$PATH | |
pushd java | |
./gradlew clean build | |
popd | |
shell: bash | |
build_kotlin: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get current time | |
uses: gerred/actions/current-time@master | |
id: current-time | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: 'corretto' | |
- name: Install protoc | |
run: ./install_protoc.sh | |
- name: Build package | |
uses: gradle/gradle-build-action@v2 | |
with: | |
build-root-directory: ./kotlin | |
arguments: clean build | |
build_python: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get current time | |
uses: gerred/actions/current-time@master | |
id: current-time | |
- uses: actions/checkout@v3 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Bootstrap poetry | |
run: | | |
curl -sL https://install.python-poetry.org | python - -y --version 1.4.2 | |
- name: Configure poetry | |
run: poetry config virtualenvs.in-project true | |
- name: Install dependencies | |
working-directory: python | |
run: make install | |
- name: Build package | |
working-directory: python | |
run: make build | |
build_csharp: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get current time | |
uses: gerred/actions/current-time@master | |
id: current-time | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: "6.0.x" | |
- name: Build | |
run: | | |
pushd csharp | |
dotnet build | |
popd | |
shell: bash | |
build_rust: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get current time | |
uses: gerred/actions/current-time@master | |
id: current-time | |
- uses: actions/checkout@v2 | |
- name: Install protoc | |
run: ./install_protoc.sh | |
- name: Build package | |
run: | | |
set -e | |
set -x | |
pushd rust | |
echo make sure the code generator runs first so the files are there when we build momento-protos | |
cargo build -p codegenerator | |
cargo build | |
popd | |
shell: bash | |
- name: Set dryrun Cargo version | |
run: | | |
pushd rust | |
chmod +x set_cargo_package_version.sh | |
./set_cargo_package_version.sh 42.42.42 | |
popd | |
shell: bash | |
- name: Release dryrun | |
env: | |
# TODO: Match the token with https://github.com/momentohq/client-sdk-rust/blob/main/.github/workflows/cd.yml | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_PUBLISH_TOKEN }} | |
run: | | |
set -e | |
set -x | |
pushd rust | |
cargo publish -p momento-protos --verbose --dry-run --allow-dirty --no-verify | |
popd | |
shell: bash |