-
Notifications
You must be signed in to change notification settings - Fork 9
150 lines (144 loc) · 6.01 KB
/
workflow.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
name: OpenFisca France Local
on:
push:
branches:
- master
pull_request:
jobs:
create-github-tag:
runs-on: ubuntu-20.04
steps:
- name: Publish Github release
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/openfisca/openfisca-france-local/releases \
-d '{"tag_name":"6.0.0","name":"test_release","body":"Test Description of the release","draft":true,"prerelease":false,"generate_release_notes":false}'
# run: "${GITHUB_WORKSPACE}/.github/publish-github-release.sh ${{ secrets.GITHUB_TOKEN }}"
# build:
# runs-on: ubuntu-20.04
# strategy:
# matrix:
# openfisca-dependencies: [minimal, maximal]
# python-version: ["3.9.9", "3.10.6"]
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# - name: Cache build
# id: restore-build
# uses: actions/cache@v3
# with:
# path: ${{ env.pythonLocation }}
# key: build-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ github.sha }}-${{ matrix.openfisca-dependencies }}
# restore-keys: | # in case of a cache miss (systematically unless the same commit is built repeatedly), the keys below will be used to restore dependencies from previous builds, and the cache will be stored at the end of the job, making up-to-date dependencies available for all jobs of the workflow; see more at https://docs.github.com/en/actions/advanced-guides/caching-dependencies-to-speed-up-workflows#example-using-the-cache-action
# build-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}
# build-${{ env.pythonLocation }}-
# - name: Install test dependancies
# run: make install-test
# - name: Build package
# run: make build
# - name: Minimal version
# if: matrix.openfisca-dependencies == 'minimal'
# run: | # Installs the OpenFisca dependencies minimal version from setup.py
# pip install $(python ${GITHUB_WORKSPACE}/.github/get_minimal_version.py)
# - name: Cache release
# id: restore-release
# uses: actions/cache@v3
# with:
# path: dist
# key: release-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ github.sha }}-${{ matrix.openfisca-dependencies }}
# test-yaml:
# runs-on: ubuntu-20.04
# strategy:
# matrix:
# openfisca-dependencies: [minimal, maximal]
# needs: [ build ]
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: 3.9.9
# - name: Cache build
# id: restore-build
# uses: actions/cache@v3
# with:
# path: ${{ env.pythonLocation }}
# key: build-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ github.sha }}-${{ matrix.openfisca-dependencies }}
# - name: Run YAML test
# run: |
# openfisca test tests --country-package openfisca_france --extensions openfisca_france_local
# check-version-and-changelog:
# runs-on: ubuntu-20.04
# needs: [ test-yaml ] # Last job to run
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0 # Fetch all the tags
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: 3.9.9
# - name: Check version number has been properly updated
# run: "${GITHUB_WORKSPACE}/.github/is-version-number-acceptable.sh"
# GitHub Actions does not have a halt job option, to stop from deploying if no functional changes were found.
# We build a separate job to substitute the halt option.
# The `deploy` job is dependent on the output of the `check-for-functional-changes` job.
# check-for-functional-changes:
# runs-on: ubuntu-20.04
# if: github.ref == 'refs/heads/master' # Only triggered for the `master` branch
# needs: [ check-version-and-changelog ]
# outputs:
# status: ${{ steps.stop-early.outputs.status }}
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0 # Fetch all the tags
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: 3.9.9
# - id: stop-early
# run: if "${GITHUB_WORKSPACE}/.github/has-functional-changes.sh" ; then echo "::set-output name=status::success" ; fi
# deploy:
# runs-on: ubuntu-20.04
# strategy:
# matrix:
# openfisca-dependencies: [maximal]
# needs: [ check-for-functional-changes ]
# if: needs.check-for-functional-changes.outputs.status == 'success'
# env:
# PYPI_USERNAME: openfisca-bot
# PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
# steps:
# - uses: actions/checkout@v3
# with:
# fetch-depth: 0 # Fetch all the tags
# - name: Set up Python
# uses: actions/setup-python@v4
# with:
# python-version: 3.9.9
# - name: Cache build
# id: restore-build
# uses: actions/cache@v3
# with:
# path: ${{ env.pythonLocation }}
# key: build-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ github.sha }}-${{ matrix.openfisca-dependencies }}
# - name: Cache release
# id: restore-release
# uses: actions/cache@v3
# with:
# path: dist
# key: release-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ github.sha }}-${{ matrix.openfisca-dependencies }}
# - name: Upload a Python package to PyPi
# run: twine upload dist/* --username $PYPI_USERNAME --password $PYPI_PASSWORD
# - name: Publish a git tag
# run: "${GITHUB_WORKSPACE}/.github/publish-git-tag.sh"