diff --git a/.github/workflows/cd-prod.yml b/.github/workflows/cd-prod.yml index b49c6e5..6662a85 100644 --- a/.github/workflows/cd-prod.yml +++ b/.github/workflows/cd-prod.yml @@ -31,7 +31,7 @@ jobs: github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'push' && - github.event.workflow_run.head_branch == 'main' + (github.event.workflow_run.head_branch == 'main' || github.event.workflow_run.head_branch == 'dev') ) runs-on: ubuntu-latest timeout-minutes: 20 diff --git a/.github/workflows/ci-prod.yml b/.github/workflows/ci-prod.yml index c220937..bd29c93 100644 --- a/.github/workflows/ci-prod.yml +++ b/.github/workflows/ci-prod.yml @@ -1,8 +1,6 @@ name: CI-PROD on: - pull_request: - branches: [ main, dev ] push: branches: [ main, dev ] @@ -37,14 +35,12 @@ jobs: run: echo "IMAGE_TAG=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_ENV - name: Configure AWS credentials (OIDC) # OIDC 기반으로 역할 자격증명 - if: github.event_name == 'push' uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ vars.AWS_REGION }} - name: Login to Amazon ECR # 위에서 자격증명하고 ecr 로그인 - if: github.event_name == 'push' uses: aws-actions/amazon-ecr-login@v2 - name: Build Docker image # 이미지 빌드해서 @@ -52,6 +48,5 @@ jobs: docker build --build-arg SERVER_PORT=${{ vars.SERVER_PORT }} -t ${{ vars.ECR_REGISTRY }}/${{ vars.ECR_REPOSITORY }}:${{ env.IMAGE_TAG }} . - name: Push Docker image to ECR # 이미지 ecr로 업로드 - if: github.event_name == 'push' run: | docker push ${{ vars.ECR_REGISTRY }}/${{ vars.ECR_REPOSITORY }}:${{ env.IMAGE_TAG }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..a0da9c0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,31 @@ +name: CI + +on: + pull_request: + branches: [ main, dev ] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Grant execute permission for gradlew + run: chmod +x ./gradlew + + - name: Run tests + run: ./gradlew test --no-daemon