diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml new file mode 100644 index 0000000..c4695a7 --- /dev/null +++ b/.github/workflows/pr-build.yml @@ -0,0 +1,21 @@ +name: PR Build + +on: + pull_request: + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + check-latest: true + + - name: Build packages + run: go build ./... diff --git a/deployments/deploy.go b/deployments/deploy.go index 4686bad..f75be06 100644 --- a/deployments/deploy.go +++ b/deployments/deploy.go @@ -39,26 +39,26 @@ func doDeployment(deploymentConfig engine.Deployment) error { p := CreateDeploymentPrinter(deploymentConfig.Id()) deploymentEngine, err := engine.GetEngine(deploymentConfig.Type()) if err != nil { - return err + return fmt.Errorf("%s: %w", deploymentConfig.Id(), err) } p("checking deployed version...") version, err := deploymentEngine.CheckVersion(deploymentConfig) if err != nil { - return err + return fmt.Errorf("%s: %w", deploymentConfig.Id(), err) } if version != deploymentConfig.Version() { p("version '%s' does not match expected version '%s'. Deploying new version...", version, deploymentConfig.Version()) if len(deploymentConfig.PreDeployCommand()) > 0 { if err = runDeploymentScript("pre", deploymentConfig.PreDeployCommand(), deploymentConfig.Version(), p); err != nil { - return err + return fmt.Errorf("%s: %w", deploymentConfig.Id(), err) } } if err = deploymentEngine.Deploy(deploymentConfig, p); err != nil { - return err + return fmt.Errorf("%s: %w", deploymentConfig.Id(), err) } if len(deploymentConfig.PostDeployCommand()) > 0 { if err = runDeploymentScript("post", deploymentConfig.PostDeployCommand(), deploymentConfig.Version(), p); err != nil { - return err + return fmt.Errorf("%s: %w", deploymentConfig.Id(), err) } } p("version %s deployed successfully!", deploymentConfig.Version())