Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
software-di-controllo
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Davide Ricci
software-di-controllo
Commits
305a0626
Commit
305a0626
authored
1 month ago
by
Davide Ricci
Browse files
Options
Downloads
Patches
Plain Diff
prova doc
parent
6344a435
No related branches found
No related tags found
No related merge requests found
Pipeline
#29528
failed
1 month ago
Stage: test
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
.gitlab-ci.yml
+10
-168
10 additions, 168 deletions
.gitlab-ci.yml
with
10 additions
and
168 deletions
.gitlab-ci.yml
+
10
−
168
View file @
305a0626
# .gitlab-ci.yml
# The Docker image that will be used to build your app
image
:
python:3.12
image
:
python:3.12
create-pages
:
variables
:
PROJECT
:
"
noctua"
PIP_CACHE_DIR
:
"
$CI_PROJECT_DIR/.cache/pip"
FORMAT_TARGETS
:
"
${PROJECT}"
# For sed, autopep8, isort
PYLINT_TARGETS
:
"
${PROJECT}"
# For pylint
GIT_USER_EMAIL
:
"
davide.ricci@inaf.it"
GIT_USER_NAME
:
"
Davide
GitLab
CI"
FORMATTED_BRANCH_NAME
:
"
validated"
cache
:
key
:
"
$CI_COMMIT_REF_SLUG"
# Cache pip downloads per branch
paths
:
-
.cache/pip
# - venv/
stages
:
-
setup_and_format
-
lint
# Does not modify code
-
deploy_docs
-
auto_commit
# Job 1: Install ${PROJECT} and its dependencies
install_project
:
stage
:
setup_and_format
tags
:
-
git-run-ia2
script
:
-
echo "Current directory $(pwd)"
-
ls -la
-
echo "Python version $(python -v)"
-
pip install --upgrade pip
-
echo "Installing project '${PROJECT}' and its dependencies..."
-
pip install -e .
-
echo "${PROJECT} installation complete."
artifacts
:
paths
:
# Pass the entire workspace. This includes the checked-out code
# or if -e . modifies local files (e.g. .egg-info).
-
.
# The current working directory state
# Job 2: Remove Trailing Whitespaces
fix_trailing_whitespaces
:
stage
:
setup_and_format
tags
:
-
git-run-ia2
needs
:
-
job
:
install_project
artifacts
:
true
script
:
-
echo "Current directory $(pwd)"
-
ls -la
-
echo "Removing trailing whitespaces from '${FORMAT_TARGETS}' directory..."
-
find "${FORMAT_TARGETS}" -type f -name "*.py" -exec sed -i 's/[[:space:]]*$//' {} \;
-
echo "Trailing whitespaces removed."
artifacts
:
paths
:
-
.
# Pass the modified workspace
# Job 3: Apply isort
apply_isort
:
stage
:
setup_and_format
tags
:
-
git-run-ia2
needs
:
-
job
:
fix_trailing_whitespaces
artifacts
:
true
before_script
:
-
pip install isort
script
:
-
echo "Current directory $(pwd)"
-
ls -la
-
echo "Applying isort to '${FORMAT_TARGETS}' directory..."
# isort will use pyproject.toml for configuration
-
isort "${FORMAT_TARGETS}"
-
echo "isort formatting complete."
artifacts
:
paths
:
-
.
# Pass the modified workspace
# Job 4: Apply autopep8
apply_autopep8
:
stage
:
setup_and_format
tags
:
-
git-run-ia2
needs
:
-
job
:
apply_isort
artifacts
:
true
before_script
:
-
pip install autopep8
script
:
-
echo "Current directory $(pwd)"
-
ls -la
-
echo "Applying autopep8 to '${FORMAT_TARGETS}' directory..."
-
autopep8 --in-place --recursive --aggressive --aggressive "${FORMAT_TARGETS}"
-
echo "autopep8 formatting complete."
artifacts
:
paths
:
-
.
# Pass the modified workspace
# Job 5: Run Pylint
run_pylint
:
stage
:
lint
tags
:
-
git-run-ia2
needs
:
-
job
:
apply_autopep8
artifacts
:
true
before_script
:
-
pip install pylint
script
:
-
echo "Current directory $(pwd)"
-
echo "Running pylint on '${PYLINT_TARGETS}'..."
-
pylint --version
-
pylint --rcfile=.pylintrc --fail-on=E,F ${PYLINT_TARGETS}/sequencer.py || echo "Pylint finished with exit code $(( $? &2)) (non-zero indicates issues)"
-
echo "Pylint check complete."
#rules:
# - if: $CI_PIPELINE_SOURCE == "merge_request_event"
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# - when: manual
# allow_failure: true # Allow manual trigger to not fail overall pipeline if desired
# Job 6: Create documentation
# This defines a job named 'pages'. GitLab recognizes this special name
# and knows that its purpose is to deploy a website to GitLab Pages.
pages
:
pages
:
stage
:
deploy_docs
# The folder that contains the files to be exposed at the Page URL
tags
:
publish
:
public
-
git-run-ia2
rules
:
# Commands to run before the main script. Perfect for installing dependencies.
# This ensures that only pushes to the default branch will trigger
# a pages deploy
-
if
:
$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
# Functions that should be executed before the build script is run
before_script
:
before_script
:
-
pip install -r docs/requirements.txt
-
pip install -r docs/requirements.txt
script
:
script
:
-
sphinx-apidoc -o docs/source noctua
-
sphinx-apidoc -o docs/source noctua
-
sphinx-build -b html docs/source public
-
sphinx-build -b html docs/source public
artifacts
:
paths
:
-
.
# Pass the modified workspace
# - public
# rules:
# - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# Job 7: commit in branch
commit_formatted_code
:
stage
:
auto_commit
tags
:
-
git-run-ia2
needs
:
-
job
:
run_pylint
# Must pass pylint
-
job
:
apply_autopep8
# Needs the final code state from formatting
artifacts
:
true
before_script
:
-
git config --global user.email "davide.ricci@inaf.it"
-
git config --global user.name "CI Bot"
-
git checkout "$CI_COMMIT_SHA"
script
:
-
echo "Checking for changes and committing to ${FORMATTED_BRANCH_NAME} branch..."
-
git add .
-
echo "Creating/updating branch '${FORMATTED_BRANCH_NAME}' based on commit $CI_COMMIT_SHA..."
-
git checkout -B "${FORMATTED_BRANCH_NAME}" "$CI_COMMIT_SHA"
-
MAIN_COMMIT_MSG=$(git log -1 --pretty=%B $CI_COMMIT_SHA)
-
|
git commit -m "$MAIN_COMMIT_MSG
- Source Commit: $CI_COMMIT_SHA
- Date: $(date +"%Y-%m-%d %H:%M:%S")
- Job ID: $CI_JOB_ID
- Pipeline ID: $CI_PIPELINE_ID
- [skip ci]"
-
git push --force https://davide.ricci:$GITLAB_TOKEN@www.ict.inaf.it/gitlab/davide.ricci/software-di-controllo.git ${FORMATTED_BRANCH_NAME}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment