# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs name: build_docker CI on: workflow_dispatch: inputs: image_version: description: 'The version of the Docker image' required: true default: 'dev' #push: #branches: [ "main" ] #pull_request: #branches: [ "main" ] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [22.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Install and build working-directory: ./frontend run: | npm install npm run build - name: Copy dist to backend run: | cp -r frontend/dist backend/ - name: Login to Docker uses: docker/login-action@v2 with: registry: ${{ secrets.DOCKERHUB_REGISTRY }} username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push Docker image uses: docker/build-push-action@v4 with: context: . push: true tags: | ${{ secrets.DOCKERHUB_REGISTRY }}/dataease-v2/sqlbot:latest ${{ secrets.DOCKERHUB_REGISTRY }}/dataease-v2/sqlbot:${{ inputs.image_version }}