Skip to content

Commit d1b23f5

Browse files
committed
Create octopusdeploy.yml
1 parent 6ac08a1 commit d1b23f5

File tree

1 file changed

+166
-0
lines changed

1 file changed

+166
-0
lines changed
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
name: Python Package using Conda
2+
3+
on: [push]
4+
5+
jobs:
6+
build-linux:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
max-parallel: 5
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
- name: Set up Python 3.10
14+
uses: actions/setup-python@v3
15+
with:
16+
python-version: '3.10'
17+
- name: Add conda to system path
18+
run: |
19+
# $CONDA is an environment variable pointing to the root of the miniconda directory
20+
echo $CONDA/bin >> $GITHUB_PATH
21+
- name: Install dependencies
22+
run: |
23+
conda env update --file environment.yml --name base
24+
- name: Lint with flake8
25+
run: |
26+
conda install flake8
27+
# stop the build if there are Python syntax errors or undefined names
28+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
29+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
30+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
31+
- name: Test with pytest
32+
run: |
33+
conda install pytest
34+
pytest
35+
name: Ui icons
36+
37+
on:
38+
push:
39+
branches: [ "main" ]
40+
pull_request:
41+
branches: [ "main" ]
42+
43+
jobs:
44+
build:
45+
+FT+AOAcAAAAABAAgBwAAAAAAAAAAAAAHgDgB4AGAYAefgHgPgP4H8AwAYAcA/g/gfwP4AcD8D8B8A/ABgPgP3wB4DYD+B/A/g/wHAP4P4H8D+APA/A/AfAbwA4H4D84ASA2A/gfwHwHYBwD+D+B/A/gfgHgPwHwGEAOB3A/EAFgPwO4D4B8A8A+A/g/gfwP4HwD8DcB+BjAPgPgPxAHYB+D+A8AfAPAfwP4P4H8D+B4A/AfgPgNwH4D4D98B2ADg/gGAEwGYH8D+D+B/A/gMAMgAYAcD4B+AYA/AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAfAHwHwBgB8B8A+AfAfgPwP4HwDkB8AAAAABAfwf3wHwD8B8AYA7AbgIgOwH4DcCCB8A/A7AEAHADwH8H/+B+A7gfgGAPYN4GMD2DuBuA/gfgPwMYH4H4D+B/B//gfgLYP4DwC2D6BjAvgwgYwP4H4D8CGB+B+A/gfwf3wH4DOD+B+A/g/gdwPYOYDMDeB+A/A7gfgfgP4H8H9sB+A/A/wfgPwH4H8D8B+A+A/gfgIAO4BAAwA8B/B/bAfgHgP8H4B4A8B/AOAPAPAP4H4CABsAAAAAAAfwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAH4D+B8AeAAAGAPADgP8D8DwA8AfA/gfgHAMgAAH/8B/A/gfAPgP4BwDQA4DtArA8APADwP4H4BwDIB9BR/gf4P4HwH8D+A8A8AMAzACAPwH4H8D+B+A/A/Afwf34D+D+B8B/A/gfAPgDAMwAgD4A8AfA/gfgfgO4H8F8+Afg/gfAfwP4GYD4AwDMAcA+APAHwP4H4B4DoB9B/GADwP4EQH8D+D+A+AcAzAfwP4H4H8D+B+AfA+AAAfwAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBwB4A4ADAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAOA+A/AOAfwPwP4BwBYDeAbAcAPAPwNgH4B4A4AcAcPANgN4HwGYDeDOBrAeA/gPwHgDwD8D8B+AeAfAPAHjwD4CeB8BuAvA/AfwHgP4D8B8A8A/A/AfgHgH4HgA94A+A3gfAfgIwN4CoB4D+A/AfAPAPwPwH4B4AAB4AP8AHgPwHwH4DcDuA+AeA/gHwHgDwD8D4B+AaAfgPAHuABwB4B8B+A/A/gHAEgNoA8BgA8A/AsAWgEgAABwByAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AcAeAPAHAHgBgBwB4A8AAAAAGAGAAAAYAMAAAAAAfgfgPwH4D4D8B8A+A/AfgGABgBwBgAYAOAPAMAAAP+4H8D+D+B/A/gfAfwN4P4DgAcA+AYAfgDgDgDAAAD/GBjAzg/gfwP4P4H8D+D+B/A/gPgPgP4DwD4D8A+A/7gfwP4P4H8D+B8B/A9g/gfwP4BgD4D8BwA4A/APgP34D4D8B+A+A/AfAPgPwH4BgAYAYAcAmAcAeADAAAD84AcAeAPAHAHgBgBwB4A8AAAAAGAGAAAGACAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgfgD4DgBwB4AYAcA/AAwfwOwAAAAAAAGA8AcAGAAP4H8B+A8B/A/gPADAPwP8H8DsA4A3B/gfgfwP4DwDL+A+Afgfgfwf4HwB4D8A/B/A7AfAfweYH4H8D/AYB//gfgP4H4H8H+D+A/A/APwfwOwP4B4DGB8B/A/wGAf/4H4D4B+A2A/A/wPwPwP8H8D8BuAMA/wBAfwH8DwBJ8B+AkAbAHAHgf8BwD8ADAwAfAAAAAP4HwH8D+AYAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAADADgAwAAAAAAAOAPAHAHgDwB4A4AOAAAfAGAc34A8B4B+AcA/AHAHADwDwD8D8B+A/A/AHAfwHwH8F9+D/AeA/gfwN4P8H8D8B8B/A/gfgdwP4B4H8B8B/B//g/wHgH4HMDODhBHA5AZAYwMYGYHcDeAeB/AOAfwDP4P8D8D+B3A/g7wdwGQPwH8D+B+B3A/gOAfwDgH8D7+B/A/gfgfgDAPwD8B8D8B/A/gfgfwPYHAH8AQB/B//gcQDAHoA4AwA8AcAPAMAPgHwDwD4B8BgB/AEAfwYwAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAA=
46+
runs-on: ubuntu-latest
47+
48+
steps:
49+
- uses: actions/checkout@v4
50+
- name: Build the site in the jekyll/builder container
51+
run: |
52+
docker run \
53+
-v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site \
54+
jekyll/builder:latest /bin/bash -c "chmod -R 777 /srv/jekyll && jekyll build --future"
55+
# This workflow uses actions that are not certified by GitHub.
56+
# They are provided by a third-party and are governed by separate terms of service,
57+
# privacy policy, and support documentation.
58+
#
59+
# This workflow will build and publish a Docker container which is then deployed through Octopus Deploy.
60+
#
61+
# The build job in this workflow currently assumes that there is a Dockerfile that generates the relevant application image.
62+
# If required, this job can be modified to generate whatever alternative build artifact is required for your deployment.
63+
#
64+
# This workflow assumes you have already created a Project in Octopus Deploy.
65+
# For instructions see https://octopus.com/docs/projects/setting-up-projects
66+
#
67+
# To configure this workflow:
68+
#
69+
# 1. Decide where you are going to host your image.
70+
# This template uses the GitHub Registry for simplicity but if required you can update the relevant DOCKER_REGISTRY variables below.
71+
#
72+
# 2. Create and configure an OIDC credential for a service account in Octopus.
73+
# This allows for passwordless authentication to your Octopus instance through a trust relationship configured between Octopus, GitHub and your GitHub Repository.
74+
# https://octopus.com/docs/octopus-rest-api/openid-connect/github-actions
75+
#
76+
# 3. Configure your Octopus project details below:
77+
# OCTOPUS_URL: update to your Octopus Instance Url
78+
# OCTOPUS_SERVICE_ACCOUNT: update to your service account Id
79+
# OCTOPUS_SPACE: update to the name of the space your project is configured in
80+
# OCTOPUS_PROJECT: update to the name of your Octopus project
81+
# OCTOPUS_ENVIRONMENT: update to the name of the environment to recieve the first deployment
82+
83+
84+
name: 'Build and Deploy to Octopus Deploy'
85+
86+
on:
87+
push:
88+
branches:
89+
- '"main"'
90+
91+
jobs:
92+
build:
93+
name: Build
94+
runs-on: ubuntu-latest
95+
permissions:
96+
packages: write
97+
contents: read
98+
env:
99+
DOCKER_REGISTRY: ghcr.io # TODO: Update to your docker registry uri
100+
DOCKER_REGISTRY_USERNAME: ${{ github.actor }} # TODO: Update to your docker registry username
101+
DOCKER_REGISTRY_PASSWORD: ${{ secrets.GITHUB_TOKEN }} # TODO: Update to your docker registry password
102+
outputs:
103+
image_tag: ${{ steps.meta.outputs.version }}
104+
steps:
105+
- uses: actions/checkout@v4
106+
107+
- name: Set up Docker Buildx
108+
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
109+
110+
- name: Log in to the Container registry
111+
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
112+
with:
113+
registry: ${{ env.DOCKER_REGISTRY }}
114+
username: ${{ env.DOCKER_REGISTRY_USERNAME }}
115+
password: ${{ env.DOCKER_REGISTRY_PASSWORD }}
116+
117+
- name: Extract metadata (tags, labels) for Docker
118+
id: meta
119+
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
120+
with:
121+
images: ${{ env.DOCKER_REGISTRY }}/${{ github.repository }}
122+
tags: type=semver,pattern={{version}},value=v1.0.0-{{sha}}
123+
124+
- name: Build and push Docker image
125+
id: push
126+
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
127+
with:
128+
context: .
129+
push: true
130+
tags: ${{ steps.meta.outputs.tags }}
131+
labels: ${{ steps.meta.outputs.labels }}
132+
deploy:
133+
name: Deploy
134+
permissions:
135+
id-token: write
136+
runs-on: ubuntu-latest
137+
needs: [ build ]
138+
env:
139+
OCTOPUS_URL: 'https://your-octopus-url' # TODO: update to your Octopus Instance url
140+
OCTOPUS_SERVICE_ACCOUNT: 'your-service-account-id' # TODO: update to your service account Id
141+
OCTOPUS_SPACE: 'your-space' # TODO: update to the name of the space your project is configured in
142+
OCTOPUS_PROJECT: 'your-project' # TODO: update to the name of your Octopus project
143+
OCTOPUS_ENVIRONMENT: 'your-environment' # TODO: update to the name of the environment to recieve the first deployment
144+
145+
steps:
146+
- name: Log in to Octopus Deploy
147+
uses: OctopusDeploy/login@34b6dcc1e86fa373c14e6a28c5507d221e4de629 #v1.0.2
148+
with:
149+
server: '${{ env.OCTOPUS_URL }}'
150+
service_account_id: '${{ env.OCTOPUS_SERVICE_ACCOUNT }}'
151+
152+
- name: Create Release
153+
id: create_release
154+
uses: OctopusDeploy/create-release-action@fea7e7b45c38c021b6bc5a14bd7eaa2ed5269214 #v3.2.2
155+
with:
156+
project: '${{ env.OCTOPUS_PROJECT }}'
157+
space: '${{ env.OCTOPUS_SPACE }}'
158+
packages: '*:${{ needs.build.outputs.image_tag }}'
159+
160+
- name: Deploy Release
161+
uses: OctopusDeploy/deploy-release-action@b10a606c903b0a5bce24102af9d066638ab429ac #v3.2.1
162+
with:
163+
project: '${{ env.OCTOPUS_PROJECT }}'
164+
space: '${{ env.OCTOPUS_SPACE }}'
165+
release_number: '${{ steps.create_release.outputs.release_number }}'
166+
environments: ${{ env.OCTOPUS_ENVIRONMENT }}

0 commit comments

Comments
 (0)