ci/pipeline.yml
# my-go-examples pipeline.yml
#------------------------------------------------------------------------------------------
jobs:
#**********************************************
- name: job-readme-github-pages
#**********************************************
plan:
# GET REPO FROM GITHUB
- get: my-go-examples
trigger: true
# SEND SLACK ALERT
- put: resource-slack-alert
params:
channel: '#jeff-builds'
text: "From my-go-examples: STARTED job-readme-github-pages in concourse ci."
# SEND GITHUB STATUS
- put: resource-repo-status
params: { state: "pending", description: "STARTED job-readme-github-pages in concourse ci.", commit: "my-go-examples" }
# RUN TASK IN REPO USING ALPINE DOCKER IMAGE
- task: task-readme-github-pages
file: my-go-examples/ci/tasks/task-readme-github-pages.yml
# TASK SUCCESS
on_success:
do:
# PUSH NEW REPO TO GITHUB
- put: my-go-examples
params:
repository: my-go-examples-updated
# SEND SLACK ALERT
- put: resource-slack-alert
params:
channel: '#jeff-builds'
text: "From my-go-examples: PASSED job-readme-github-pages in concourse ci."
# SEND GITHUB STATUS
- put: resource-repo-status
params: { state: "success", description: "PASSED job-readme-github-pages in concourse ci", commit: "my-go-examples" }
# TASK FAILURE
on_failure:
do:
# SEND SLACK ALERT
- put: resource-slack-alert
params:
channel: '#jeff-builds'
text: "From my-go-examples: FAILED job-readme-github-pages in concourse ci."
# SEND GITHUB STATUS
- put: resource-repo-status
params: { state: "failure", description: "FAILED job-readme-github-pages in concourse ci", commit: "my-go-examples" }
#**********************************************
- name: job-unit-tests
#**********************************************
plan:
# GET REPO FROM GITHUB
- get: my-go-examples
trigger: true
passed: [job-readme-github-pages]
# SEND SLACK ALERT
- put: resource-slack-alert
params:
channel: '#jeff-builds'
text: "From my-go-examples: STARTED job-unit-tests in concourse ci."
# SEND GITHUB STATUS
- put: resource-repo-status
params: { state: "pending", description: "STARTED job-unit-tests in concourse ci.", commit: "my-go-examples" }
# RUN TASK IN REPO USING ALPINE DOCKER IMAGE
- task: task-unit-tests
file: my-go-examples/ci/tasks/task-unit-tests.yml
# TASK SUCCESS
on_success:
do:
# PUSH NEW REPO TO GITHUB
- put: my-go-examples
params:
repository: my-go-examples
# SEND SLACK ALERT
- put: resource-slack-alert
params:
channel: '#jeff-builds'
text_file: coverage-results/test_coverage.txt
text: |
From my-go-examples: PASSED job-unit-tests in concourse ci.
$TEXT_FILE_CONTENT
# SEND GITHUB STATUS
- put: resource-repo-status
params: { state: "success", description: "PASSED job-unit-tests in concourse ci", commit: "my-go-examples" }
# TASK FAILURE
on_failure:
do:
# SEND SLACK ALERT
- put: resource-slack-alert
params:
channel: '#jeff-builds'
text: "From my-go-examples: FAILED job-unit-tests in concourse ci."
# SEND GITHUB STATUS
- put: resource-repo-status
params: { state: "failure", description: "FAILED job-unit-tests in concourse ci.", commit: "my-go-examples" }
#------------------------------------------------------------------------------------------
resource_types:
- name: slack-notification
type: docker-image
source:
repository: cfcommunity/slack-notification-resource
tag: latest
- name: github-status
type: docker-image
source:
repository: jeffdecola/github-status-resource-clone
tag: v0.0.2
#------------------------------------------------------------------------------------------
resources:
- name: my-go-examples
type: git
icon: github
source:
#uri: https://github.com/jeffdecola/my-go-examples
uri: git@github.com:jeffdecola/my-go-examples.git
branch: master
private_key: ((concourse_git_private_key))
- name: resource-slack-alert
type: slack-notification
icon: slack
source:
url: ((slack_url))
- name: resource-repo-status
type: github-status
icon: github
source:
repository: jeffdecola/my-go-examples
access_token: ((repo_github_token))
branch: master