diff --git a/.github/workflows/aws_publisher.yaml b/.github/workflows/aws_publisher.yaml new file mode 100644 index 0000000000..052f4e8ed9 --- /dev/null +++ b/.github/workflows/aws_publisher.yaml @@ -0,0 +1,51 @@ +name: AWS Marketplace Publisher +on: + workflow_dispatch: + inputs: + KafkaUIInfraBranch: + description: 'Branch name of Kafka-UI-Infra repo, build commands will be executed from this branch' + required: true + default: 'master' + KafkaUIReleaseVersion: + description: 'Version of KafkaUI' + required: true + default: '0.3.2' + +jobs: + build-ami: + name: Build AMI + runs-on: ubuntu-latest + steps: + - name: Clone infra repo + run: | + echo "Cloning repo..." + git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git --branch ${{ github.event.inputs.KafkaUIInfraBranch }} + echo "Cd to packer DIR..." + cd kafka-ui-infra/ami + echo "WORK_DIR=$(pwd)" >> $GITHUB_ENV + echo "Packer will be triggered in this dir $WORK_DIR" + + - name: Configure AWS credentials for Kafka-UI account + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_AMI_PUBLISH_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_AMI_PUBLISH_KEY_SECRET }} + aws-region: us-east-1 + + # validate templates + - name: Validate Template + uses: hashicorp/packer-github-actions@master + with: + command: validate + arguments: -syntax-only + target: kafka-ui-infra/ami/kafka-ui.pkr.hcl + + # build artifact + - name: Build Artifact + uses: hashicorp/packer-github-actions@master + with: + command: build + arguments: "-color=false -on-error=abort -var=kafka_ui_release_version=${{ github.event.inputs.KafkaUIReleaseVersion }}" + target: kafka-ui-infra/ami/kafka-ui.pkr.hcl + env: + PACKER_LOG: 1 \ No newline at end of file