PromucFlow_constructor/.github/workflows
Shrikant Sharat Kandula 6905aa9f93
ci: Don't tag latest when not latest version (#38296)
When we're tagging a version that's not the latest version, then don't
update the `latest` Docker image on Docker hub. Like, if the current
latest is `v1.20`, and we publish the hotfix tag `v1.18.1` to fix a
critical bug in `v1.18`, then we only want to publish the Docker image
at the tag `v1.18.1`, and _not_ update `latest`. We want `latest` to
continue to point to `v1.20`.

Tested on a separate private repo, confirmed working.

## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
21b3f9fe1ec7beea8b1f72b20f5406fb14fca4aa yet
> <hr>Sat, 21 Dec 2024 05:33:37 UTC
<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a streamlined GitHub Actions workflow for Docker image
tagging.
	- Added a summary log for workflow execution details.
	- Enhanced Docker tag generation with validation and error handling.

- **Bug Fixes**
	- Improved validation for GitHub reference formats to prevent failures.

- **Documentation**
	- Updated workflow names and outputs for clarity and ease of use.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-26 13:44:54 +05:30
..
docs chore: Move appsmithctl to RTS (#37531) 2024-11-20 20:58:38 +05:30
scripts ci: Don't tag latest when not latest version (#38296) 2024-12-26 13:44:54 +05:30
ad-hoc-docker-image.yml chore: Add version input for generate info json script (#38025) 2024-12-06 17:28:30 +05:30
build-chromatic.yml chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
build-client-server-count.yml ci: Fix for command without spec (#38353) 2024-12-26 11:09:50 +05:30
build-client-server.yml chore: Added pg branch (#36086) 2024-09-03 18:39:47 +05:30
build-docker-image.yml chore: Trigger TBP on pg for scheduled run on release (#36399) 2024-09-19 22:34:52 +05:30
build-storybook.yml chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
caddy-routes-test.yml ci: Weekly schedule for Caddy route tests 2024-04-08 12:19:16 +05:30
ci-client-cyclic-deps-check.yml chore: Check for cyclic dependencies only for client file changes in a PR (#34154) 2024-06-12 08:52:21 +05:30
ci-test-custom-script.yml chore: Fix chrome version to 129 (#38183) 2024-12-17 18:06:54 +05:30
ci-test-hosted.yml chore: Fix chrome version to 129 (#38183) 2024-12-17 18:06:54 +05:30
ci-test-limited-with-count.yml ci: Fix for command without spec (#38353) 2024-12-26 11:09:50 +05:30
ci-test-limited.yml ci: Added ci option for snapshot (#38261) 2024-12-20 12:37:42 +05:30
cleanup-dp.yml ci: Updating actions/checkout to v4 and defaulting to fetch-depth 1 instead of 0 (#29281) 2023-12-05 13:44:43 +05:30
client-build.yml chore: add grafana faro sdk (CE) (#38301) 2024-12-26 10:37:41 +05:30
client-lint.yml ci: Making minor improvements to the CI workflow files (#33636) 2024-05-23 19:47:34 +05:30
client-prettier.yml ci: Making minor improvements to the CI workflow files (#33636) 2024-05-23 19:47:34 +05:30
client-unit-tests.yml chore: update node version and appropriate git workflows (#31486) 2024-03-26 14:12:11 +03:00
close-labeler.yml ci: Upgrade GitHub Action steps to github-script@v7 and pload-artifact@v4 (#33554) 2024-05-20 10:49:27 +05:30
copy-labels.yml fix: Use the Appsmith repo for custom github actions (#12366) 2022-03-31 11:46:58 +05:30
docker-base-image.yml ci: Remove base image schedule trigger 2023-12-25 10:40:53 +05:30
duplicate-issue-detector.yml
github-release.yml ci: Don't tag latest when not latest version (#38296) 2024-12-26 13:44:54 +05:30
helm-release.yml ci: Updating actions/checkout to v4 and defaulting to fetch-depth 1 instead of 0 (#29281) 2023-12-05 13:44:43 +05:30
integration-tests-command.yml ci: Modified older ok-to-test job to redirect to the new one (#31673) 2024-03-12 10:01:44 +05:30
issue-report-config.json
mastermind-labeler.yml Removing release-drafter github action (#6248) 2021-07-29 18:24:03 +05:30
ok-to-test.yml chore: Adding new command for running test case (#35419) 2024-08-05 21:04:45 +05:30
on-demand-build-docker-image-deploy-preview.yml fix: add depot token to dp ci (#36313) 2024-09-13 16:32:47 +05:30
pr-automation.yml ci: Enable Cypress run for master based branches (#35897) 2024-08-27 13:19:19 +05:30
pr-cypress.yml chore: Move appsmithctl to RTS (#37531) 2024-11-20 20:58:38 +05:30
pr-labeler.yml ci: Improve the test file check workflow (#18741) 2022-12-07 14:52:43 +05:30
quality-checks.yml ci: Run server tests on pg branch (#34372) 2024-06-21 12:52:18 +05:30
README.md fix: Separated out workflows (#8434) 2021-10-12 16:26:18 +05:30
release-drafter.yml chore: move local dependency to packages (#23395) 2023-05-22 15:55:46 +03:00
rts-build.yml chore: revert rts build to github runners (#35017) 2024-07-18 13:53:10 +05:30
server-build.yml chore: Reverted server cache skip changes (#37779) 2024-11-27 16:36:32 +05:30
server-spotless.yml ci: Upgrading the github action steps from Node 16 to Node 20. (#32004) 2024-04-01 15:41:43 +05:30
stale.yml chore: Do not mark User testing PRs as stale (#35806) 2024-08-21 14:16:07 +05:30
sync-release-to-pg.yml chore: update sync to pg workflow to use github pat for accessing the secrets (#36944) 2024-11-14 14:52:54 +05:30
test-build-docker-image.yml chore: add TBP failures to postgres channel (#36630) 2024-10-04 10:17:57 +05:30
test-storybook.yml fix: test storybook action (#35585) 2024-08-09 20:46:25 +03:00
test-vulnerabilities-data.yml chore: Update for workflow name (#37696) 2024-11-26 11:48:32 +05:30

The following list describes all the workflows that are configured to run in this repository:

  1. Build RTS Workflow
  2. Appsmith Client Build Workflow
  3. Appsmith External Integration Test Workflow
  4. Appsmith Github Release Workflow
  5. Ok To Test
  6. Appsmith Server Workflow
  7. Test, build and push Docker Image

Utility Actions

  1. Mark stale issues and pull requests
  2. Label PRs based on title
  3. Release Drafter
  4. Remove old artifacts
  5. Sync Community workflow
  6. Potential Duplicate Issues
  7. Mastermind Labeler Workflow

Build RTS Workflow

Workflow file: build-rts.yml Triggered on every commit to the rts folder. This workflow is responsible for building the RTS Node server. There are dummy steps for ui-tests and packaging. (Comment: Useless right now because it does not have ui-test-result)

Appsmith Client Build Workflow

Workflow file: client-build.yml Triggered on every commit to the client folder. This workflow is responsible for building & unit-testing the client side.

Appsmith Server Workflow

Workflow file: server.yml Triggered on every commit to the server folder. This workflow is responsible for building & unit-testing the Java server codebase.

Appsmith External Integration Test Workflow

Workflow file: external-client-test.yml Triggered only by the ok to test command dispatch. This workflow is responsible for building, unit-testing, integration testing and packaging both server and client code base. (Comment: Notably not RTS)

Appsmith Github Release Workflow

Workflow file: github-release.yml Triggered on release event on Github. This workflow is responsible for building client, server and RTS binaries and packaging them to the latest as well as the relevant release tag on Docker.

Ok To Test

Workflow file: ok-to-test.yml Triggered by PR comments. This workflow triggers a repository dispatch for the Appsmith External Integration Test Workflow.

Test, build and push Docker Image

Workflow file: test-build-docker-image.yml Triggered by PR reviews and push to release or master. This workflow is responsible for building client, server and RTS binaries and packaging them to fata container as well as the older separate containers.

Mark stale issues and pull requests

Workflow file: stale.yml

Label PRs based on title

Workflow file: pr-labeler.yml

Release Drafter

Workflow file: release-drafter.yml

Remove old artifacts

Workflow file: remove-old-artifacts.yml

Sync Community workflow

Workflow file: sync-community-repo.yml

Potential Duplicate Issues

Workflow file: duplicate-issue-detector.yml

Mastermind Labeler Workflow

Workflow file: mastermind-labeler.yml