From cae1c91996c43a8f0116fe39eff76c5b99690ca6 Mon Sep 17 00:00:00 2001 From: Pierre Millot Date: Fri, 12 Jan 2024 12:11:45 +0100 Subject: [PATCH] rename --- .github/workflows/check.yml | 33 +++++++++++-------- .github/workflows/codegen.yml | 10 +++--- config/clients.config.json | 22 ++++++------- docker-compose.yml | 6 ++-- scripts/docker/Dockerfile.base | 4 +++ scripts/docker/Dockerfile.ruby | 4 +++ scripts/docker/Dockerfile.swift | 4 +++ scripts/docker/publish.sh | 16 +++++++++ website/docs/contributing/add-new-language.md | 4 +-- 9 files changed, 70 insertions(+), 33 deletions(-) create mode 100755 scripts/docker/publish.sh diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index f3e6c12f022..2a24ff90edb 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -21,8 +21,9 @@ jobs: setup: runs-on: ubuntu-22.04 container: - image: ghcr.io/algolia/apic_base - volumes: [./:/app] + image: ghcr.io/algolia/apic-base + volumes: + - ./:/app timeout-minutes: 10 steps: - name: debugging - dump GitHub context @@ -105,8 +106,9 @@ jobs: scripts: runs-on: ubuntu-22.04 container: - image: ghcr.io/algolia/apic_base - volumes: [./:/app] + image: ghcr.io/algolia/apic-base + volumes: + - ./:/app timeout-minutes: 10 needs: setup if: ${{ needs.setup.outputs.RUN_SCRIPTS == 'true' }} @@ -128,8 +130,9 @@ jobs: specs: runs-on: ubuntu-22.04 container: - image: ghcr.io/algolia/apic_base - volumes: [./:/app] + image: ghcr.io/algolia/apic-base + volumes: + - ./:/app timeout-minutes: 10 needs: setup steps: @@ -161,8 +164,9 @@ jobs: timeout-minutes: 10 runs-on: ubuntu-22.04 container: - image: ghcr.io/algolia/apic_base - volumes: [./:/app] + image: ghcr.io/algolia/apic-base + volumes: + - ./:/app needs: setup if: ${{ needs.setup.outputs.RUN_GEN_JAVASCRIPT == 'true' }} strategy: @@ -209,8 +213,9 @@ jobs: timeout-minutes: 10 runs-on: ubuntu-22.04 container: - image: ghcr.io/algolia/apic_base - volumes: [./:/app] + image: ghcr.io/algolia/apic-base + volumes: + - ./:/app needs: - setup - client_javascript_utils @@ -319,7 +324,8 @@ jobs: runs-on: 'ubuntu-22.04' container: image: ${{ format('ghcr.io/algolia/{0}', matrix.client.dockerImage }} - volumes: [./:/app] + volumes: + - ./:/app needs: - setup - specs @@ -399,8 +405,9 @@ jobs: codegen: runs-on: ubuntu-22.04 container: - image: ghcr.io/algolia/apic_base - volumes: [./:/app] + image: ghcr.io/algolia/apic-base + volumes: + - ./:/app timeout-minutes: 10 needs: - setup diff --git a/.github/workflows/codegen.yml b/.github/workflows/codegen.yml index 4e60e6c5e24..b3e757b0b35 100644 --- a/.github/workflows/codegen.yml +++ b/.github/workflows/codegen.yml @@ -8,8 +8,9 @@ jobs: notification: runs-on: ubuntu-22.04 container: - image: ghcr.io/algolia/apic_base - volumes: [./:/app] + image: ghcr.io/algolia/apic-base + volumes: + - ./:/app timeout-minutes: 10 if: (github.event.action == 'opened' || github.event.action == 'synchronize') && github.event.number steps: @@ -31,8 +32,9 @@ jobs: cleanup: runs-on: ubuntu-22.04 container: - image: ghcr.io/algolia/apic_base - volumes: [./:/app] + image: ghcr.io/algolia/apic-base + volumes: + - ./:/app timeout-minutes: 10 if: github.event.action == 'closed' steps: diff --git a/config/clients.config.json b/config/clients.config.json index 0a7ebc348c3..abe2a7f873b 100644 --- a/config/clients.config.json +++ b/config/clients.config.json @@ -16,7 +16,7 @@ "packageVersion": "7.0.0-alpha.3", "modelFolder": "algoliasearch", "apiFolder": "algoliasearch", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": ".test.cs", "outputFolder": "src/tests" @@ -46,7 +46,7 @@ "packageVersion": "1.3.0", "modelFolder": "lib/src/model", "apiFolder": "lib/src/api", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": "_test.dart", "outputFolder": "test" @@ -69,7 +69,7 @@ "packageVersion": "4.0.0-alpha.41", "modelFolder": "algolia", "apiFolder": "algolia", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": "_test.go", "outputFolder": "tests" @@ -92,7 +92,7 @@ "packageVersion": "4.0.0-beta.16", "modelFolder": "algoliasearch/src/main/java/com/algolia/model", "apiFolder": "algoliasearch/src/main/java/com/algolia/api", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": ".test.java", "outputFolder": "src/test/java/com/algolia" @@ -151,7 +151,7 @@ "packageVersion": "5.0.0-alpha.97", "modelFolder": "model", "apiFolder": "src", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": ".test.ts", "outputFolder": "src" @@ -178,7 +178,7 @@ "packageVersion": "3.0.0-beta.10", "modelFolder": "client/src/commonMain/kotlin/com/algolia/client/model", "apiFolder": "client/src/commonMain/kotlin/com/algolia/client/api", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": "Test.kt", "outputFolder": "src/commonTest/kotlin/com/algolia" @@ -201,7 +201,7 @@ "packageVersion": "4.0.0-alpha.91", "modelFolder": "lib/Model", "apiFolder": "lib/Api", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": "Test.php", "outputFolder": "src" @@ -228,7 +228,7 @@ "packageVersion": "4.0.0b1", "modelFolder": "algoliasearch", "apiFolder": "algoliasearch", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": "_test.py", "outputFolder": "tests" @@ -255,7 +255,7 @@ "packageVersion": "3.0.0.alpha.4", "modelFolder": "lib/algolia/models", "apiFolder": "lib/algolia/api", - "dockerImage": "apic_ruby", + "dockerImage": "apic-ruby", "tests": { "extension": "_test.rb", "outputFolder": "test" @@ -278,7 +278,7 @@ "packageVersion": "2.0.0-alpha.4", "modelFolder": "src/main/scala/algoliasearch", "apiFolder": "src/main/scala/algoliasearch/api", - "dockerImage": "apic_base", + "dockerImage": "apic-base", "tests": { "extension": "Test.scala", "outputFolder": "src/test/scala/algoliasearch" @@ -301,7 +301,7 @@ "packageVersion": "9.0.0-alpha.0", "modelFolder": "Sources", "apiFolder": "Sources", - "dockerImage": "apic_swift", + "dockerImage": "apic-swift", "tests": { "extension": ".swift", "outputFolder": "Tests" diff --git a/docker-compose.yml b/docker-compose.yml index 403fc57a383..b3425e30da0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: base: - container_name: apic_base + container_name: apic-base build: context: . dockerfile: scripts/docker/Dockerfile.base @@ -15,7 +15,7 @@ services: command: tail -f /dev/null volumes: [./:/app] ruby: - container_name: apic_ruby + container_name: apic-ruby build: context: . dockerfile: scripts/docker/Dockerfile.ruby @@ -26,7 +26,7 @@ services: command: tail -f /dev/null volumes: [./:/app] swift: - container_name: apic_swift + container_name: apic-swift build: context: . dockerfile: scripts/docker/Dockerfile.swift diff --git a/scripts/docker/Dockerfile.base b/scripts/docker/Dockerfile.base index 73c22b716b0..0d2b06572b2 100644 --- a/scripts/docker/Dockerfile.base +++ b/scripts/docker/Dockerfile.base @@ -64,3 +64,7 @@ COPY --from=csharp-builder /usr/share/dotnet /usr/share/dotnet RUN echo "export PATH=$PATH:/usr/share/dotnet" >> ~/.profile && source ~/.profile WORKDIR /app + +# Autolink repository https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package +LABEL org.opencontainers.image.source=https://github.com/algolia/api-clients-automation +LABEL org.opencontainers.image.revision=latest diff --git a/scripts/docker/Dockerfile.ruby b/scripts/docker/Dockerfile.ruby index 4fe3f4e7c50..075eeb5e792 100644 --- a/scripts/docker/Dockerfile.ruby +++ b/scripts/docker/Dockerfile.ruby @@ -24,3 +24,7 @@ RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | b && nvm alias default ${NODE_VERSION} \ && nvm use default \ && npm install -g yarn + +# Autolink repository https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package +LABEL org.opencontainers.image.source=https://github.com/algolia/api-clients-automation +LABEL org.opencontainers.image.revision=latest diff --git a/scripts/docker/Dockerfile.swift b/scripts/docker/Dockerfile.swift index 91eb8a0fb04..d523b823b9d 100644 --- a/scripts/docker/Dockerfile.swift +++ b/scripts/docker/Dockerfile.swift @@ -33,3 +33,7 @@ RUN git clone --depth 1 -b release/${SWIFT_VERSION} https://github.com/apple/swi && cd /tmp/swift-format && swift build -c release \ && mv .build/release/swift-format /usr/bin \ && cd /app && rm -rf /tmp/swift-format + +# Autolink repository https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package +LABEL org.opencontainers.image.source=https://github.com/algolia/api-clients-automation +LABEL org.opencontainers.image.revision=latest diff --git a/scripts/docker/publish.sh b/scripts/docker/publish.sh new file mode 100755 index 00000000000..2735bdf800f --- /dev/null +++ b/scripts/docker/publish.sh @@ -0,0 +1,16 @@ +#! /bin/bash + +export NODE_VERSION=$(cat .nvmrc) +find config -name '.*-version' | xargs -I{} sh -c 'l=$(echo "{}" | sed -e "s/-/_/;s/config\/\.//" | tr "[a-z]" "[A-Z]");echo "export $l=$(cat {})"' + +docker buildx build --load \ + --platform linux/amd64 \ + --build-arg CSHARP_VERSION \ + --build-arg DART_VERSION \ + --build-arg GO_VERSION \ + --build-arg JAVA_VERSION \ + --build-arg NODE_VERSION \ + --build-arg PHP_VERSION \ + --build-arg PYTHON_VERSION \ + -t ghcr.io/algolia/apic-base:latest \ + -f scripts/docker/Dockerfile.base . diff --git a/website/docs/contributing/add-new-language.md b/website/docs/contributing/add-new-language.md index 8c5e17eb83c..92d471222f3 100644 --- a/website/docs/contributing/add-new-language.md +++ b/website/docs/contributing/add-new-language.md @@ -19,13 +19,13 @@ You can pick a default template on the [openapi-generator's "generators" page](h ### Extract the template locally ```bash -docker exec apic_base bash -c "yarn openapi-generator-cli author template -g -o templates/" +docker exec apic-base bash -c "yarn openapi-generator-cli author template -g -o templates/" ``` Example for the `JavaScript` client with the `typescript-node` template: ```bash -docker exec apic_base bash -c "yarn openapi-generator-cli author template -g typescript-node -o templates/javascript/" +docker exec apic-base bash -c "yarn openapi-generator-cli author template -g typescript-node -o templates/javascript/" ``` ## Update the generator config