name: 'build and deploy Speckle functions' on: # rebuild any PRs and any branch changes pull_request: push: branches: - main jobs: publish-automate-function-version: # make sure the action works on a clean machine without building runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.4.0 - uses: actions/checkout@v3 with: repository: 'specklesystems/speckle-automate-github-action' path: 'github-action' - uses: actions/setup-python@v4 with: python-version: '3.11' - name: Install and configure Poetry uses: snok/install-poetry@v1 with: version: 1.3.2 virtualenvs-create: false virtualenvs-in-project: false installer-parallel: true - name: Restore dependencies run: poetry install - name: Extract functionInputSchema run: | echo "function_input_schema=$(python schema_generation.py)" >> "$GITHUB_ENV" - uses: ./github-action with: speckle_server_url: 'https://automate.speckle.dev' speckle_token: ${{ secrets.SPECKLE_AUTOMATE_FUNCTION_PUBLISH_TOKEN }} speckle_function_id: ${{ secrets.SPECKLE_AUTOMATE_FUNCTION_ID }} speckle_function_input_schema: ${{ env.function_input_schema }} speckle_function_command: 'python main.py' speckle_function_path: '.' - name: Log in to Speckle Automate Docker registry uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a with: registry: 'https://automate.speckle.dev' username: ${{ secrets.SPECKLE_AUTOMATE_FUNCTION_PUBLISH_TOKEN }} password: ${{ secrets.SPECKLE_AUTOMATE_FUNCTION_PUBLISH_TOKEN }} - name: Build and push Docker image uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 with: context: . file: ./Dockerfile push: true