Merge pull request #2910 from coolo/add_editorconfig_check

Validate that the files match the editor config
This commit is contained in:
Stephan Kulow 2023-01-03 11:08:38 +01:00 committed by GitHub
commit b4e25496e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
61 changed files with 1052 additions and 996 deletions

View File

@ -1,4 +1,4 @@
[report]
omit =
*/site-packages/*
tests/*.py
*/site-packages/*
tests/*.py

14
.ecrc Normal file
View File

@ -0,0 +1,14 @@
{
"Verbose": false,
"IgnoreDefaults": false,
"Exclude": ["tests/fixtures", "LICENSE", "\\.py$", "bs_copy"],
"SpacesAfterTabs": true,
"Disable": {
"EndOfLine": false,
"Indentation": false,
"IndentSize": false,
"InsertFinalNewline": false,
"TrimTrailingWhitespace": false,
"MaxLineLength": false
}
}

View File

@ -27,3 +27,18 @@ indent_style = tab
[**.{pl,py}]
indent_style = space
indent_size = 4
[staging_templates/create_new_staging]
indent_style = tab
[publish_distro_conf/*.config]
indent_style = tab
[osc-staging-workflow.dot]
indent_size = 3
[factory-package-news/rsyslog/factory-package-news.conf]
indent_style = tab
[data/repos.json]
indent_size = 3

View File

@ -27,11 +27,11 @@ jobs:
- name: Run tests
run: docker-compose -f dist/ci/docker-compose.yml run test
env:
# Specifies how many jobs you would like to run in parallel,
# used for partitioning
CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
# Use the index from matrix as an environment variable
CI_NODE_INDEX: ${{ matrix.ci_node_index }}
# Specifies how many jobs you would like to run in parallel,
# used for partitioning
CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
# Use the index from matrix as an environment variable
CI_NODE_INDEX: ${{ matrix.ci_node_index }}
- name: Submit coverage report to Codecov
uses: codecov/codecov-action@v1.5.2

View File

@ -0,0 +1,14 @@
name: EditorConfig Checker
on:
pull_request:
branches:
- master
jobs:
editorconfig:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: editorconfig-checker/action-editorconfig-checker@main
- run: editorconfig-checker

View File

@ -35,7 +35,7 @@ incomplete.
### Command Line Tools
Usually, the executables are renamed as `osrt-NAME` (e.g., `osrt-announcer`).
Usually, the executables are renamed as `osrt-NAME` (e.g., `osrt-announcer`).
#### announcer

View File

@ -142,7 +142,7 @@ def test_basic(self):
# Keep the workflow in local scope so that ending the test case will destroy it.
# Destroying the workflow will also delete all created projects and packages. The
# created workflow has a target project, but most of the test assets need to be created
# as needed
# as needed
wf = OBSLocal.FactoryWorkflow()
staging = wf.create_staging('A', freeze=True)
wf.create_submit_request('devel:wine', 'wine')
@ -186,4 +186,4 @@ Note that we have some (older) test cases using httpretty, but those are very sp
call that osc libraries or our code do, will require changes in your test case. It can still be a viable option, especially if more than OBS is involved.
The method that you can combine with `OBSLocal` though is using MagicMock. This class is used to mock individual functions. So splitting the code to use helper functions to retrieve information and then
mocking this inside the test case can be a good alternative to mocking the complete HTTP traffic.
mocking this inside the test case can be a good alternative to mocking the complete HTTP traffic.

View File

@ -1,8 +1,8 @@
<!doctype html>
{% block head %}
<title>{% block title %}{% endblock %}</title>
<meta charset=utf-8>
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">
<title>{% block title %}{% endblock %}</title>
<meta charset=utf-8>
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">
<link rel="stylesheet" href="https://static.opensuse.org/themes/bento/css/style.fluid.css" media="screen" />
{% endblock %}
{% for message in get_flashed_messages() %}

View File

@ -74,37 +74,37 @@
</td>
{% endif %}
<td>
{% if project.ttm_version %}
<a href="https://build.opensuse.org/package/show/{{ project.name }}/000product">{{ project.ttm_version }}</a>
{% else %}
n.a.
{% endif %}
{% if project.ttm_version %}
<a href="https://build.opensuse.org/package/show/{{ project.name }}/000product">{{ project.ttm_version }}</a>
{% else %}
n.a.
{% endif %}
</td>
<td>
{% set ttm_testing = project.ttm_status.get('testing') %}
{% if ttm_testing %}
{% if project.openqa_version %}
<a href='https://openqa.opensuse.org/tests/overview?version={{ project.openqa_version }}&groupid={{ project.openqa_id }}'>{{ ttm_testing }}</a>
{% else %}
{{ ttm_testing }}
{% endif %}
{% else %}
n.a.
{% endif %}
</td>
<td>
{% set ttm_published = project.ttm_status.get('published', None) %}
{% if ttm_published %}
<a href="{{ project.download_url }}">{{ ttm_published }}</a>
{% set ttm_testing = project.ttm_status.get('testing') %}
{% if ttm_testing %}
{% if project.openqa_version %}
<a href='https://openqa.opensuse.org/tests/overview?version={{ project.openqa_version }}&groupid={{ project.openqa_id }}'>{{ ttm_testing }}</a>
{% else %}
n.a.
{% endif %}
{{ ttm_testing }}
{% endif %}
{% else %}
n.a.
{% endif %}
</td>
<td>
{% set openqa_summary = project.openqa_summary() %}
{% for state in openqa_summary.keys() %}
{{ state }}: {{ openqa_summary[state]|length }}
{% endfor %}
{% set ttm_published = project.ttm_status.get('published', None) %}
{% if ttm_published %}
<a href="{{ project.download_url }}">{{ ttm_published }}</a>
{% else %}
n.a.
{% endif %}
</td>
<td>
{% set openqa_summary = project.openqa_summary() %}
{% for state in openqa_summary.keys() %}
{{ state }}: {{ openqa_summary[state]|length }}
{% endfor %}
</td>
</tr>
{% endfor %}

View File

@ -15,5 +15,5 @@
, <a href="https://build.opensuse.org/project/monitor/{{ project.name }}?unresolvable=1&defaults=0&repo_{{repository}}=1&{{project.all_archs}}">{{ progress['unresolvable'] }} unresolvable</a>
{% endif %}
{% else %}
n.a.
n.a.
{% endif %}

View File

@ -1,9 +1,9 @@
{
"openSUSE:Leap:15.3:Update": {
"DISTRI": "opensuse",
"FLAVOR": "DVD-Incidents",
"VERSION": "15.3",
"ARCH": "x86_64"
"DISTRI": "opensuse",
"FLAVOR": "DVD-Incidents",
"VERSION": "15.3",
"ARCH": "x86_64"
},
"openSUSE:Backports:SLE-15-SP3:Update": {
"DISTRI": "opensuse",
@ -12,10 +12,13 @@
"ARCH": "x86_64"
},
"openSUSE:Leap:15.4:Update": {
"DISTRI": "opensuse",
"FLAVOR": "DVD-Incidents",
"VERSION": "15.4",
"ARCH": ["x86_64", "aarch64"]
"DISTRI": "opensuse",
"FLAVOR": "DVD-Incidents",
"VERSION": "15.4",
"ARCH": [
"x86_64",
"aarch64"
]
},
"openSUSE:Backports:SLE-15-SP4:Update": {
"DISTRI": "opensuse",

View File

@ -1,64 +1,64 @@
{
"https://openqa.opensuse.org" : {
"openSUSE:Leap:15.3:Update" : {
"settings" : {
"OS_TEST_ISSUES" : "",
"FLAVOR" : "DVD-Updates",
"DISTRI" : "opensuse",
"VERSION" : "15.3",
"ARCH" : "x86_64"
"https://openqa.opensuse.org": {
"openSUSE:Leap:15.3:Update": {
"settings": {
"OS_TEST_ISSUES": "",
"FLAVOR": "DVD-Updates",
"DISTRI": "opensuse",
"VERSION": "15.3",
"ARCH": "x86_64"
},
"test" : "kde",
"repos" : [
"test": "kde",
"repos": [
"http://download.opensuse.org/update/leap/15.3/oss/",
"http://download.opensuse.org/update/leap/15.3/non-oss/",
"http://download.opensuse.org/update/leap/15.3/backports/",
"http://download.opensuse.org/update/leap/15.3/sle/"
]
},
"openSUSE:Backports:SLE-15-SP3:Update" : {
"settings" : {
"OS_TEST_ISSUES" : "",
"FLAVOR" : "DVD-Backports-Incidents",
"DISTRI" : "opensuse",
"VERSION" : "15.3",
"ARCH" : "x86_64"
},
"test" : "kde",
"repos" : [
"http://download.opensuse.org/update/leap/15.3/backports/",
"http://download.opensuse.org/update/leap/15.3/sle/"
]
},
"openSUSE:Leap:15.4:Update" : {
"settings" : {
"OS_TEST_ISSUES" : "",
"FLAVOR" : "DVD-Updates",
"DISTRI" : "opensuse",
"VERSION" : "15.4",
"ARCH" : "x86_64"
"openSUSE:Backports:SLE-15-SP3:Update": {
"settings": {
"OS_TEST_ISSUES": "",
"FLAVOR": "DVD-Backports-Incidents",
"DISTRI": "opensuse",
"VERSION": "15.3",
"ARCH": "x86_64"
},
"test" : "textmode",
"repos" : [
"test": "kde",
"repos": [
"http://download.opensuse.org/update/leap/15.3/backports/",
"http://download.opensuse.org/update/leap/15.3/sle/"
]
},
"openSUSE:Leap:15.4:Update": {
"settings": {
"OS_TEST_ISSUES": "",
"FLAVOR": "DVD-Updates",
"DISTRI": "opensuse",
"VERSION": "15.4",
"ARCH": "x86_64"
},
"test": "textmode",
"repos": [
"http://download.opensuse.org/update/leap/15.4/oss/",
"http://download.opensuse.org/update/leap/15.4/non-oss/",
"http://download.opensuse.org/update/leap/15.4/backports/",
"http://download.opensuse.org/update/leap/15.4/sle/"
]
},
"openSUSE:Backports:SLE-15-SP4:Update" : {
"settings" : {
"OS_TEST_ISSUES" : "",
"FLAVOR" : "DVD-Backports-Incidents",
"DISTRI" : "opensuse",
"VERSION" : "15.4",
"ARCH" : "x86_64"
},
"test" : "textmode",
"repos" : [
"http://download.opensuse.org/update/leap/15.4/backports/",
"http://download.opensuse.org/update/leap/15.4/sle/"
]
}
"openSUSE:Backports:SLE-15-SP4:Update": {
"settings": {
"OS_TEST_ISSUES": "",
"FLAVOR": "DVD-Backports-Incidents",
"DISTRI": "opensuse",
"VERSION": "15.4",
"ARCH": "x86_64"
},
"test": "textmode",
"repos": [
"http://download.opensuse.org/update/leap/15.4/backports/",
"http://download.opensuse.org/update/leap/15.4/sle/"
]
}
}
}

View File

@ -18,7 +18,7 @@ ci_node=$1
for file in tests/*_tests.py; do
if test -n "$ci_node"; then
if test "$ci_node" == "Rest"; then
if test "$ci_node" == "Rest"; then
if grep -q '# CI-Node' $file; then
echo "Skipping $file in 'Rest'"
continue
@ -27,7 +27,7 @@ for file in tests/*_tests.py; do
if ! grep -q "# CI-Node: $ci_node" $file; then
continue
fi
fi
fi
fi
if ! test -f /code/.without-coverage; then
COVER_ARGS="--cov=. --cov-append --cov-report=xml"

View File

@ -20,9 +20,9 @@ services:
<<: *obs
command: >
chroot --userspec=wwwrun / /bin/bash -c "cd /srv/www/obs/api &&
RAILS_ENV=production ./bin/rake ts:rebuild &&
RAILS_ENV=production ./script/delayed_job.api.rb --queues=staging,quick start &&
./bin/bundle exec rails s -e production"
RAILS_ENV=production ./bin/rake ts:rebuild &&
RAILS_ENV=production ./script/delayed_job.api.rb --queues=staging,quick start &&
./bin/bundle exec rails s -e production"
depends_on:
- db
- cache

View File

@ -6,11 +6,11 @@ RUN zypper -n ar http://download.opensuse.org/repositories/openSUSE:/Tools/openS
RUN zypper --gpg-auto-import-keys ref
RUN zypper in -y osc python3-pytest python3-httpretty python3-pyxdg python3-PyYAML \
python3-pika python3-mock python3-cmdln python3-lxml python3-python-dateutil python3-colorama \
python3-influxdb python3-pytest-cov libxml2-tools curl python3-flake8 \
shadow vim vim-data strace git sudo patch openSUSE-release openSUSE-release-ftp \
perl-Net-SSLeay perl-Text-Diff perl-XML-Simple perl-XML-Parser build \
obs-service-download_files obs-service-format_spec_file obs-scm-bridge
python3-pika python3-mock python3-cmdln python3-lxml python3-python-dateutil python3-colorama \
python3-influxdb python3-pytest-cov libxml2-tools curl python3-flake8 \
shadow vim vim-data strace git sudo patch openSUSE-release openSUSE-release-ftp \
perl-Net-SSLeay perl-Text-Diff perl-XML-Simple perl-XML-Parser build \
obs-service-download_files obs-service-format_spec_file obs-scm-bridge
RUN useradd tester -d /code/tests/home
COPY run_as_tester /usr/bin

View File

@ -12,45 +12,52 @@ The generated release spec files are split into 000release-packages to avoid nee
The package list generator reads several files. The most important are group*.yml (traditionally only groups.yml) within 000package-groups.
### supportstatus.txt
The file lists the packages and their support level. It's only necessary to list packages here that have a different level than the default level specificied in the groups. The format is plain text: <package name> <level> - the level is handed over 1:1 to KIWI file. Currently used values are: unsupported, l2 and l3
### group*.yml
The file is a list of package lists and the special hash 'OUTPUT'. OUTPUT contains an entry for every group file that needs to be written out. The group name of it needs to exist as package list as well. OUTPUT also contains flags for the groups.
We currently support:
* default-support
Sets the support level in case there is no explicitly entry in [supportstatus.txt](#supportstatustxt), defaults to 'unsupported'
* recommends
If the solver should take recommends into account when solving the package list, defaults to false.
* includes
Adds package lists to the group to be solved. Allows to organize different topics into the same group. By default there are no package lists added - the package list with the group name is always there.
* excludes
Removes all packages from the __solved__ groups listed. Used to build addons to main products.
* conflicts
Sets package groups not to be part of the same product. Influences the [overlap calculation](#overlap-calculation) only.
* **default-support**
Sets the support level in case there is no explicitly entry in [supportstatus.txt](#supportstatustxt), defaults to 'unsupported'
* **recommends**
If the solver should take recommends into account when solving the package list, defaults to false.
* **includes**
Adds package lists to the group to be solved. Allows to organize different topics into the same group. By default there are no package lists added - the package list with the group name is always there.
* **excludes**
Removes all packages from the __solved__ groups listed. Used to build addons to main products.
* **conflicts**
Sets package groups not to be part of the same product. Influences the [overlap calculation](#overlap-calculation) only.
Be aware that group names must not contain a '-'.
You can also adapt the solving on a package level by putting a hash into the package list. Normally the package name is a string, in case it's a hash the key needs to be the package name and the value is a list of following modifiers:
* recommended
Evaluate also 'Recommends' in package to determine dependencies. Otherwise only 'required' are considered. Used mainly for patterns in SLE. It can not be combined with platforms, For architecture specific recommends, use patterns.
* suggested
Evaluate also 'Suggests' in package to determine dependencies. This implies recommended
* architecture (e.g. x86_64,s390x,ppc64le,aarch64)
Makes the entry specific to the listed architectures. Will get ignored if used in combination with 'recommended'.
* locked
Do not put the package into this group. Used to *force* certain packages into other modules
* silent
Use this package for dependency solving of groups "on top", but do not output the package for this group. Mainly to mark the product to use by adding release packages. Use with care, this breaks dependency chains!
* required
If the package is missing or is uninstallable, don't leave a comment but put the error as package entry for OBS to create unresolvable error to avoid building a DVD
* **recommended**
Evaluate also 'Recommends' in package to determine dependencies. Otherwise only 'required' are considered. Used mainly for patterns in SLE. It can not be combined with platforms, For architecture specific recommends, use patterns.
* **suggested**
Evaluate also 'Suggests' in package to determine dependencies. This implies recommended
* **architecture (e.g. x86_64,s390x,ppc64le,aarch64)**
Makes the entry specific to the listed architectures. Will get ignored if used in combination with 'recommended'.
* **locked**
Do not put the package into this group. Used to *force* certain packages into other modules
* **silent**
Use this package for dependency solving of groups "on top", but do not output the package for this group. Mainly to mark the product to use by adding release packages. Use with care, this breaks dependency chains!
* **required**
If the package is missing or is uninstallable, don't leave a comment but put the error as package entry for OBS to create unresolvable error to avoid building a DVD
Note that you can write yaml lists in 2 ways. You can put the modifier lists as multiple lines starting with -, but it's recommended to put them as [M1,M2] behind the package name. See the difference between pkg4 and pkg5 in the example.
#### Example:
#### Example
```
```yaml
OUTPUT:
- group1:
includes:
@ -88,9 +95,11 @@ list2:
```
## Overlap calculation
TODO
TODO
## Handling in staging workflow
If 000package-groups contains a file named summary-staging.txt, the bot will trigger a diff mode on staging projects.
It will create an equal summary-staging.txt in 000product and create a comment with a human readable diff in the staging
project. This comment can be replied to. If the reply starts with 'approve', staging accept will apply the diff to this

View File

@ -88,24 +88,24 @@ are:
* *accept* Accept all requests assigned to a staging project.
* *check* Check the status of the different request inside the staging
project, including the status in openQA.
project, including the status in openQA.
* *cleanup_rings* Check the status of the different rings in Factory.
* *rebase* Freeze the packages that are not affected in a staging project.
In the past, this command used to be called 'freeze', which is still
a valid alias.
In the past, this command used to be called 'freeze', which is still
a valid alias.
* *list* Accept all the requests from packages that are not in any
ring, detect request that supersede the current ones that are
actually tracked in staging projects, and list the remaining
requests.
ring, detect request that supersede the current ones that are
actually tracked in staging projects, and list the remaining
requests.
* *select* Move a request (or a list of requests) to a staging
project, or move requests between staging projects.
project, or move requests between staging projects.
* *unselect* Remove a request from a staging project, and publish it
again into the backlog.
again into the backlog.
List

View File

@ -153,7 +153,7 @@ while(<FL>) {
$prv = 0;
next;
}
s/ .*//; # no version stuff;
s/ .*//; # no version stuff;
push @{$whatprovides{$_}}, $pkg;
next;
}
@ -162,7 +162,7 @@ while(<FL>) {
$con = 0;
next;
}
s/ .*//; # no version stuff;
s/ .*//; # no version stuff;
s/^otherproviders\((.*)\)$/$1/;
push @{$con{$pkg}}, $_;
next;
@ -172,7 +172,7 @@ while(<FL>) {
$obs= 0;
next;
}
s/ .*//; # no version stuff;
s/ .*//; # no version stuff;
push @{$obs{$pkg}}, $_;
next;
}
@ -282,7 +282,7 @@ print STDERR "now ".@dirs." directories\n";
if (@implicit_conflicts) {
print STDERR "have implicit conflicts, calculating dir owners\n";
my @pdirs; # parent dirs
my @pdirs; # parent dirs
for (@dirs) {
next unless /^(.*\/)(.*?)\/$/;
$pdirs[$dirs{$_}] = $dirs{$1};
@ -322,7 +322,7 @@ if (@implicit_conflicts) {
}
}
%files = (); # free mem
%files = (); # free mem
# reduce all-dir conflicts and trivial multiarch conflicts
print STDERR "reducing trivial conflicts\n";
@ -363,7 +363,7 @@ my %pkgneeded;
my %tocheck;
my %tocheck_files;
for my $f (sort keys %filesc) {
my @p = sort(@{$filesc{$f}}); # normalize
my @p = sort(@{$filesc{$f}}); # normalize
$filesc{$f} = [ @p ];
s/\/.*// for @p;
$pkgneeded{$_} = 1 for @p;
@ -419,28 +419,28 @@ for my $tc (sort keys %tocheck) {
next if $conflicts{"$p1\n$p2"};
my @con;
for my $f (@{$tocheck_files{$tc}}) {
my @pp = grep {s/^(?:\Q$p1\E|\Q$p2\E)\///} map {$_} @{$filesc{$f}};
next unless @pp;
# ignore if (all directories or all ghosts or all links) and all same mode;
my %allm = map {$_ => 1} @pp;
my $info = '';
if (keys(%allm) == 1) {
my $m = (keys(%allm))[0];
# all modes/flags are the same
# no conflict if all dirs or all ghosts or all links
next if $modes_type[$m] == 040000 || $modes_type[$m] == 0120000 || $modes_ghost[$m] == 0100;
} else {
# don't report mode mismatches for files/symlinks that are not ghosts
for my $m (keys %allm) {
if (($modes_type[$m] != 0100000 && $modes_type[$m] != 0120000) || $modes_ghost[$m] == 0100) {
$info = ' [mode mismatch: '.join(', ', map {beautify_mode($_)} @pp).']';
last;
}
}
}
# got one!
$f =~ /^(\d+)\/(.*)/;
push @con, "$dirs[$1]$2$info" unless "$dirs[$1]$2" =~ m{/etc/uefi/certs/.*crt};
my @pp = grep {s/^(?:\Q$p1\E|\Q$p2\E)\///} map {$_} @{$filesc{$f}};
next unless @pp;
# ignore if (all directories or all ghosts or all links) and all same mode;
my %allm = map {$_ => 1} @pp;
my $info = '';
if (keys(%allm) == 1) {
my $m = (keys(%allm))[0];
# all modes/flags are the same
# no conflict if all dirs or all ghosts or all links
next if $modes_type[$m] == 040000 || $modes_type[$m] == 0120000 || $modes_ghost[$m] == 0100;
} else {
# don't report mode mismatches for files/symlinks that are not ghosts
for my $m (keys %allm) {
if (($modes_type[$m] != 0100000 && $modes_type[$m] != 0120000) || $modes_ghost[$m] == 0100) {
$info = ' [mode mismatch: '.join(', ', map {beautify_mode($_)} @pp).']';
last;
}
}
}
# got one!
$f =~ /^(\d+)\/(.*)/;
push @con, "$dirs[$1]$2$info" unless "$dirs[$1]$2" =~ m{/etc/uefi/certs/.*crt};
}
next unless @con;
my @sp1 = split(' ', $p1);

View File

@ -61,7 +61,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:ALP -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -78,11 +78,11 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
ALP.Staging.B:
environment_variables:
@ -118,7 +118,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:ALP -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -135,8 +135,8 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"

View File

@ -114,9 +114,9 @@ pipelines:
- script: |-
SPRJ=SUSE:SLE-15-SP3:Update:BCI
for arch in aarch64 ppc64le s390x x86_64 ; do
PKG="000product:SLE_BCI-ftp-POOL-$arch"
PRJ="SUSE:Products:SLE-BCI:15-SP3:$arch"
curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images"
PKG="000product:SLE_BCI-ftp-POOL-$arch"
PRJ="SUSE:Products:SLE-BCI:15-SP3:$arch"
curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images"
done
for arch in aarch64 ppc64le s390x x86_64 ; do
sleep 600
@ -199,9 +199,9 @@ pipelines:
- script: |-
SPRJ=SUSE:SLE-15-SP4:Update:BCI
for arch in aarch64 ppc64le s390x x86_64 ; do
PKG="000product:SLE_BCI-ftp-POOL-$arch"
PRJ="SUSE:Products:SLE-BCI:15-SP4:$arch"
curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images"
PKG="000product:SLE_BCI-ftp-POOL-$arch"
PRJ="SUSE:Products:SLE-BCI:15-SP4:$arch"
curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images"
done
for arch in aarch64 ppc64le s390x x86_64 ; do
sleep 600
@ -284,9 +284,9 @@ pipelines:
- script: |-
SPRJ=SUSE:SLE-15-SP5:Update:BCI
for arch in aarch64 ppc64le s390x x86_64 ; do
PKG="000product:SLE_BCI-ftp-POOL-$arch"
PRJ="SUSE:Products:SLE-BCI:15-SP5:$arch"
curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images"
PKG="000product:SLE_BCI-ftp-POOL-$arch"
PRJ="SUSE:Products:SLE-BCI:15-SP5:$arch"
curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images"
done
for arch in aarch64 ppc64le s390x x86_64 ; do
sleep 600

View File

@ -114,9 +114,9 @@ pipelines:
- script: |-
SPRJ=SUSE:SLE-15-<%= sp %>:Update:BCI
for arch in aarch64 ppc64le s390x x86_64 ; do
PKG="000product:SLE_BCI-ftp-POOL-$arch"
PRJ="SUSE:Products:SLE-BCI:15-<%= sp %>:$arch"
curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images"
PKG="000product:SLE_BCI-ftp-POOL-$arch"
PRJ="SUSE:Products:SLE-BCI:15-<%= sp %>:$arch"
curl -X POST -H "Authorization: Token $BCI_TOKEN" "https://api.suse.de/trigger/release?project=${SPRJ}&package=${PKG}&targetproject=${PRJ}&targetrepository=images&filter_source_repository=images"
done
for arch in aarch64 ppc64le s390x x86_64 ; do
sleep 600

View File

@ -105,22 +105,22 @@ pipelines:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
timer:
spec: 0 */3 * ? * *
spec: 0 */3 * ? * *
environment_variables:
OSC_CONFIG: /home/go/config/oscrc-staging-bot
OSC_CONFIG: /home/go/config/oscrc-staging-bot
materials:
git:
git: https://github.com/openSUSE/openSUSE-release-tools.git
git:
git: https://github.com/openSUSE/openSUSE-release-tools.git
stages:
- Run:
approval:
type: manual
jobs:
Run:
resources:
- staging-bot
tasks:
- script: ./staging-report.py --debug -A https://api.opensuse.org -p openSUSE:Factory
approval:
type: manual
jobs:
Run:
resources:
- staging-bot
tasks:
- script: ./staging-report.py --debug -A https://api.opensuse.org -p openSUSE:Factory
OS.Origin.Manager:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
@ -157,7 +157,7 @@ pipelines:
- staging-bot
tasks:
- script: |-
./openqa-maintenance.py --group qam-openqa --review-mode=accept-onpass --debug --openqa https://openqa.opensuse.org --apiurl https://api.opensuse.org review
./openqa-maintenance.py --group qam-openqa --review-mode=accept-onpass --debug --openqa https://openqa.opensuse.org --apiurl https://api.opensuse.org review
openSUSE.Devel.Reminder:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished

View File

@ -123,18 +123,18 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA rebuild
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA list --supersede
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA repair --cleanup
rm -rf $tempdir
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA rebuild
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA list --supersede
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA repair --cleanup
rm -rf $tempdir
SLE-Micro.Staging.Bot.Regular:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
@ -156,19 +156,19 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 rebuild
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 list --supersede
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 select --non-interactive --merge --try-strategies
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 repair --cleanup
rm -rf $tempdir
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 rebuild
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 list --supersede
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 select --non-interactive --merge --try-strategies
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 repair --cleanup
rm -rf $tempdir
S15.SP5.Staging.Bot.Report:
group: SLE.Checkers
lock_behavior: unlockWhenFinished

View File

@ -123,18 +123,18 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA rebuild
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA list --supersede
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA repair --cleanup
rm -rf $tempdir
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA rebuild
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA list --supersede
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP5:GA repair --cleanup
rm -rf $tempdir
SLE-Micro.Staging.Bot.Regular:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
@ -156,19 +156,19 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 rebuild
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 list --supersede
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 select --non-interactive --merge --try-strategies
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 repair --cleanup
rm -rf $tempdir
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 rebuild
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 list --supersede
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 select --non-interactive --merge --try-strategies
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:SLE-15-SP4:Update:Products:Micro54 repair --cleanup
rm -rf $tempdir
S15.SP5.Staging.Bot.Report:
group: SLE.Checkers
lock_behavior: unlockWhenFinished

View File

@ -18,12 +18,12 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Factory unignore --cleanup
rm -r $tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Factory unignore --cleanup
rm -r $tempdir

View File

@ -19,7 +19,7 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
PYTHONPATH=$PWD python3 ./dashboard/generate.py -p openSUSE:Factory > dashboard/output/index.html
PYTHONPATH=$PWD python3 ./dashboard/generate.py -p openSUSE:Leap > dashboard/output/leap.html
rsync -av dashboard/output/ rsync://coolo@195.135.221.140:11873/factory-dashboard.opensuse.org/
set -e
PYTHONPATH=$PWD python3 ./dashboard/generate.py -p openSUSE:Factory > dashboard/output/index.html
PYTHONPATH=$PWD python3 ./dashboard/generate.py -p openSUSE:Leap > dashboard/output/leap.html
rsync -av dashboard/output/ rsync://coolo@195.135.221.140:11873/factory-dashboard.opensuse.org/

View File

@ -13,13 +13,13 @@ for file in *.erb; do
done
grep group: *.yaml | cut -d: -f3 | sort -u | while read group; do
case $group in
BCI|Factory|Leap|Admin|LEO|MicroOS|Monitors|openSUSE.Checkers|SLE15.Stagings|SLE15.Target|SLE.Checkers)
;;
*)
echo "Do not create new groups without being admin and knowing the consequences - found $group"
exit 1
esac
case $group in
BCI|Factory|Leap|Admin|LEO|MicroOS|Monitors|openSUSE.Checkers|SLE15.Stagings|SLE15.Target|SLE.Checkers)
;;
*)
echo "Do not create new groups without being admin and knowing the consequences - found $group"
exit 1
esac
done
for file in *.gocd.yaml; do

View File

@ -21,15 +21,15 @@ pipelines:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP4:Update:Products:Micro54:Staging:A
--only-release-packages --force
--staging SUSE:SLE-15-SP4:Update:Products:Micro54:Staging:A
--only-release-packages --force
SLE-Micro.Staging.B:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP4:Update:Products:Micro54:Staging:B
--only-release-packages --force
--staging SUSE:SLE-15-SP4:Update:Products:Micro54:Staging:B
--only-release-packages --force
SLE-Micro.Staging.A:
environment_variables:
@ -69,9 +69,7 @@ pipelines:
resources:
- repo-checker
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP4:Update:Products:Micro54 -s $STAGING_PROJECT
- script: ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP4:Update:Products:Micro54 -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -88,11 +86,11 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
SLE-Micro.Staging.B:
environment_variables:
@ -132,9 +130,7 @@ pipelines:
resources:
- repo-checker
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP4:Update:Products:Micro54 -s $STAGING_PROJECT
- script: ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP4:Update:Products:Micro54 -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -151,8 +147,8 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"

View File

@ -23,8 +23,8 @@ pipelines:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP4:Update:Products:Micro54:Staging:<%= letter %>
--only-release-packages --force
--staging SUSE:SLE-15-SP4:Update:Products:Micro54:Staging:<%= letter %>
--only-release-packages --force
<% end -%>
<% stagings.each do |letter| %>
SLE-Micro.Staging.<%= letter %>:
@ -65,9 +65,7 @@ pipelines:
resources:
- repo-checker
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP4:Update:Products:Micro54 -s $STAGING_PROJECT
- script: ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP4:Update:Products:Micro54 -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -84,9 +82,9 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
<% end -%>

View File

@ -92,22 +92,22 @@ pipelines:
resources:
- repo-checker
tasks:
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory
openSUSE_Factory_ARM:
resources:
- repo-checker
tasks:
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory:ARM
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory:ARM
openSUSE_Factory_PowerPC:
resources:
- repo-checker
tasks:
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory:PowerPC
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory:PowerPC
openSUSE_Factory_RISCV:
resources:
- repo-checker
tasks:
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory:RISCV
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory:RISCV
Pkglistgen.openSUSE_Leap_15.5:
group: Leap
lock_behavior: unlockWhenFinished
@ -194,7 +194,7 @@ pipelines:
resources:
- repo-checker
tasks:
- script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Leap:15.5
- script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Leap:15.5
Update.Repos.Leap.openSUSE_Leap_15.4_Images:
group: Leap
lock_behavior: unlockWhenFinished
@ -215,7 +215,7 @@ pipelines:
resources:
- repo-checker
tasks:
- script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Leap:15.4:Images
- script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Leap:15.4:Images
Update.Repos.Leap.openSUSE_Leap_15.3_Update_Respin:
group: Leap
lock_behavior: unlockWhenFinished
@ -236,4 +236,4 @@ pipelines:
resources:
- repo-checker
tasks:
- script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Leap:15.3:Update:Respin
- script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Leap:15.3:Update:Respin

View File

@ -55,7 +55,7 @@ pipelines:
resources:
- repo-checker
tasks:
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos <%= project %>
- script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos <%= project %>
<% end -%>
Pkglistgen.openSUSE_Leap_15.5:
group: Leap
@ -171,5 +171,5 @@ pipelines:
resources:
- repo-checker
tasks:
- script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos <%= project %>
- script: python3 ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos <%= project %>
<% end -%>

View File

@ -20,113 +20,113 @@ pipelines:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:A
--only-release-packages --force
--staging openSUSE:Factory:Staging:A
--only-release-packages --force
"Staging.B":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:B
--only-release-packages --force
--staging openSUSE:Factory:Staging:B
--only-release-packages --force
"Staging.C":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:C
--only-release-packages --force
--staging openSUSE:Factory:Staging:C
--only-release-packages --force
"Staging.D":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:D
--only-release-packages --force
--staging openSUSE:Factory:Staging:D
--only-release-packages --force
"Staging.E":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:E
--only-release-packages --force
--staging openSUSE:Factory:Staging:E
--only-release-packages --force
"Staging.F":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:F
--only-release-packages --force
--staging openSUSE:Factory:Staging:F
--only-release-packages --force
"Staging.G":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:G
--only-release-packages --force
--staging openSUSE:Factory:Staging:G
--only-release-packages --force
"Staging.H":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:H
--only-release-packages --force
--staging openSUSE:Factory:Staging:H
--only-release-packages --force
"Staging.I":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:I
--only-release-packages --force
--staging openSUSE:Factory:Staging:I
--only-release-packages --force
"Staging.J":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:J
--only-release-packages --force
--staging openSUSE:Factory:Staging:J
--only-release-packages --force
"Staging.K":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:K
--only-release-packages --force
--staging openSUSE:Factory:Staging:K
--only-release-packages --force
"Staging.L":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:L
--only-release-packages --force
--staging openSUSE:Factory:Staging:L
--only-release-packages --force
"Staging.M":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:M
--only-release-packages --force
--staging openSUSE:Factory:Staging:M
--only-release-packages --force
"Staging.N":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:N
--only-release-packages --force
--staging openSUSE:Factory:Staging:N
--only-release-packages --force
"Staging.O":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:O
--only-release-packages --force
--staging openSUSE:Factory:Staging:O
--only-release-packages --force
"Staging.Gcc7":
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:Gcc7
--only-release-packages --force
--staging openSUSE:Factory:Staging:Gcc7
--only-release-packages --force
"Factory.Staging.A":
environment_variables:
@ -175,23 +175,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.B":
environment_variables:
@ -240,23 +240,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.C":
environment_variables:
@ -305,23 +305,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.D":
environment_variables:
@ -370,23 +370,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.E":
environment_variables:
@ -435,23 +435,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.F":
environment_variables:
@ -500,23 +500,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.G":
environment_variables:
@ -565,23 +565,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.H":
environment_variables:
@ -630,23 +630,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.I":
environment_variables:
@ -695,23 +695,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.J":
environment_variables:
@ -760,23 +760,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.K":
environment_variables:
@ -825,23 +825,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.L":
environment_variables:
@ -890,23 +890,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.M":
environment_variables:
@ -955,23 +955,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.N":
environment_variables:
@ -1020,23 +1020,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.O":
environment_variables:
@ -1085,23 +1085,23 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
"Factory.Staging.Gcc7":
environment_variables:
@ -1150,21 +1150,21 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success

View File

@ -22,8 +22,8 @@ pipelines:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.opensuse.org update_and_solve
--staging openSUSE:Factory:Staging:<%= letter %>
--only-release-packages --force
--staging openSUSE:Factory:Staging:<%= letter %>
--only-release-packages --force
<% end -%>
<% factory_stagings.each do |letter| %>
"Factory.Staging.<%= letter %>":
@ -73,21 +73,21 @@ pipelines:
- script: |-
export PYTHONPATH=scripts
if ./scripts/pkglistgen.py --debug -A $STAGING_API update_and_solve --staging $STAGING_PROJECT --force; then
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s success
else
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n packagelists -r standard -s failure
exit 1
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
<% end %>

View File

@ -21,78 +21,78 @@ pipelines:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:A
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:A
--only-release-packages --force
SLE.15.SP5.Staging.B:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:B
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:B
--only-release-packages --force
SLE.15.SP5.Staging.C:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:C
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:C
--only-release-packages --force
SLE.15.SP5.Staging.D:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:D
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:D
--only-release-packages --force
SLE.15.SP5.Staging.E:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:E
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:E
--only-release-packages --force
SLE.15.SP5.Staging.F:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:F
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:F
--only-release-packages --force
SLE.15.SP5.Staging.G:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:G
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:G
--only-release-packages --force
SLE.15.SP5.Staging.H:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:H
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:H
--only-release-packages --force
SLE.15.SP5.Staging.S:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:S
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:S
--only-release-packages --force
SLE.15.SP5.Staging.V:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:V
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:V
--only-release-packages --force
SLE.15.SP5.Staging.Y:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:Y
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:Y
--only-release-packages --force
SLE15.SP5.Staging.A:
environment_variables:
@ -134,7 +134,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -151,16 +151,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.B:
environment_variables:
@ -202,7 +202,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -219,16 +219,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.C:
environment_variables:
@ -270,7 +270,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -287,16 +287,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.D:
environment_variables:
@ -338,7 +338,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -355,16 +355,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.E:
environment_variables:
@ -406,7 +406,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -423,16 +423,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.F:
environment_variables:
@ -474,7 +474,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -491,16 +491,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.G:
environment_variables:
@ -542,7 +542,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -559,16 +559,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.H:
environment_variables:
@ -610,7 +610,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -627,16 +627,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.S:
environment_variables:
@ -678,7 +678,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -695,16 +695,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.V:
environment_variables:
@ -746,7 +746,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -763,16 +763,16 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
SLE15.SP5.Staging.Y:
environment_variables:
@ -814,7 +814,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -831,13 +831,13 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success

View File

@ -23,8 +23,8 @@ pipelines:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
--staging SUSE:SLE-15-SP5:GA:Staging:<%= letter %>
--only-release-packages --force
--staging SUSE:SLE-15-SP5:GA:Staging:<%= letter %>
--only-release-packages --force
<% end -%>
<% stagings.each do |letter| %>
SLE15.SP5.Staging.<%= letter %>:
@ -67,7 +67,7 @@ pipelines:
tasks:
- script: |-
./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP5:GA -s $STAGING_PROJECT
- Update.000product:
resources:
- repo-checker
@ -84,14 +84,14 @@ pipelines:
fi
- Enable.images.repo:
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
resources:
- staging-bot
tasks:
- script: |-
osc -A $STAGING_API api -X POST "/source/$STAGING_PROJECT?cmd=remove_flag&repository=images&flag=build"
export PYTHONPATH=$PWD/scripts
while osc -A $STAGING_API api "/build/$STAGING_PROJECT/_result?view=summary&repository=images" | grep 'dirty=.true.'; do
sleep 60
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
<% end -%>

View File

@ -44,19 +44,19 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Factory rebuild
osc -A https://api.opensuse.org staging -p openSUSE:Factory list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:Factory adi
osc -A https://api.opensuse.org staging -p openSUSE:Factory unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:Factory repair --cleanup
rm -rf $tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Factory rebuild
osc -A https://api.opensuse.org staging -p openSUSE:Factory list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:Factory adi
osc -A https://api.opensuse.org staging -p openSUSE:Factory unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:Factory repair --cleanup
rm -rf $tempdir
AdiChecker.Factory.NonFree:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
@ -101,19 +101,19 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree rebuild
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree adi
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree repair --cleanup
rm -rf $tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree rebuild
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree adi
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:Factory:NonFree repair --cleanup
rm -rf $tempdir
AdiChecker.Backports.SLE-15-SP5:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
@ -158,19 +158,19 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 rebuild
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 adi
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 repair --cleanup
rm -rf $tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 rebuild
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 adi
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:Backports:SLE-15-SP5 repair --cleanup
rm -rf $tempdir
AdiChecker.Leap.15.5:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
@ -215,16 +215,16 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 rebuild
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 adi
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 repair --cleanup
rm -rf $tempdir
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 rebuild
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 adi
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5 repair --cleanup
rm -rf $tempdir

View File

@ -46,17 +46,17 @@ pipelines:
- staging-bot
tasks:
- script: |-
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
set -e
tempdir=$(mktemp -d)
mkdir -p $tempdir/.osc-plugins
ln -s $PWD/osc-staging.py $tempdir/.osc-plugins
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> rebuild
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> adi
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> repair --cleanup
rm -rf $tempdir
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> rebuild
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> list --supersede
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> adi
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> unselect --cleanup
osc -A https://api.opensuse.org staging -p openSUSE:<%= project %> repair --cleanup
rm -rf $tempdir
<% end -%>

View File

@ -74,4 +74,4 @@ pipelines:
- staging-bot
tasks:
- script: |
ruby obs-to-vagrantcloud.rb --url https://download.opensuse.org/distribution/leap/15.4/appliances/boxes/Leap-15.4.aarch64-libvirt_aarch64.json --organization opensuse --new-box-name Leap-15.4.aarch64
ruby obs-to-vagrantcloud.rb --url https://download.opensuse.org/distribution/leap/15.4/appliances/boxes/Leap-15.4.aarch64-libvirt_aarch64.json --organization opensuse --new-box-name Leap-15.4.aarch64

View File

@ -31,4 +31,4 @@ pipelines:
- staging-bot
tasks:
- script: |
ruby obs-to-vagrantcloud.rb --url <%= url %> --organization opensuse --new-box-name <%= box_name %><% end -%>
ruby obs-to-vagrantcloud.rb --url <%= url %> --organization opensuse --new-box-name <%= box_name %><% end %>

View File

@ -291,7 +291,7 @@ def walk_points(points, target):
final = []
time_last = None
wrote = 0
for point in sorted(points, key=lambda l: l.time):
for point in sorted(points, key=lambda p: p.time):
if point.measurement not in measurements:
# Wait until just before writing to drop measurement.
client.drop_measurement(point.measurement)

View File

@ -2,5 +2,5 @@
omit_hostname = true
[[outputs.influxdb]]
urls = ["http://localhost:8086"]
database = "osrt_telegraf"
urls = ["http://localhost:8086"]
database = "osrt_telegraf"

View File

@ -10,7 +10,7 @@ digraph staging {
review [ label="Review team", shape=ellipse, style=dashed ];
factory [ label="openSUSE Factory" ];
staging [ label="Staging project" ];
devel -> review [ label="Developer submits fixes from staging repo" ];
devel -> review [ label="Developer submits packages" ];
review -> review [ label="Initial grouping of requests" ];

View File

@ -4,11 +4,11 @@
# The script is executed periodically by cronjob
# as part of ~mirror/bin/publish_factory_leap wrapper on pontifex
#
# Tool publises data from stage (/src/ftp-stage) to public (/srv/ftp - download.opensuse.org)
# Tool publises data from stage (/src/ftp-stage) to public (/srv/ftp - download.opensuse.org)
#
# Configuration lives in openSUSE-release-tools.git/publish_distro_conf
# Syntax: ./publish_distro config_file
#
#
# no --delete built in
@ -35,187 +35,193 @@ extra_repos=("source" "debug")
isodir="iso"
get_version() {
exit 1
exit 1
}
get_iso() {
exit 1
exit 1
}
get_iso_link() {
exit 1
exit 1
}
get_diff_url() {
exit 1
exit 1
}
get_mark_published_url() {
exit 1
exit 1
}
get_changes_filename() {
exit 1
exit 1
}
# --dry and --cleanup should not be passed to rsync through $@
# config file and possibly other opts including --force need to be
for arg do
for arg; do
shift
if [ "$arg" == '--force' ]; then
force=1
newargs+=("$arg")
shift
continue
force=1
newargs+=("$arg")
shift
continue
elif [ "$arg" == '--dry' ]; then
dryrun=echo
shift
continue
elif [ "$arg" == '--cleanup' ]; then
do_cleanup=1
date="90 days ago"
continue
dryrun=echo
shift
continue
elif [ "$arg" == '--cleanup' ]; then
do_cleanup=1
date="90 days ago"
continue
elif [ "$arg" == '--now' ]; then
PUBLISH_DELAY=0
shift
continue
PUBLISH_DELAY=0
shift
continue
else
newargs+=("$arg")
newargs+=("$arg")
fi
done
# set newargs as $@
set -- "${newargs[@]}"
. "$1" || { echo "need to specify config file" >&2; exit 1; }
. "$1" || {
echo "need to specify config file" >&2
exit 1
}
shift
stage="/srv/ftp-stage/pub/opensuse/$path"
dest="/srv/ftp/pub/opensuse/$path"
if [ ! -e "$stage" -o ! -e "$dest" ]; then
echo "stage ($stage) and/or dest ($dest) doesn't exist" >&2
exit 1
echo "stage ($stage) and/or dest ($dest) doesn't exist" >&2
exit 1
fi
if [ -n "$do_cleanup" ]; then
# find newest delete log of that day
deletelog=$(ls -1tr ${deletelog%/*}/*-deletes.log | tail -1)
test -n "$deletelog" || exit 1
(
df -h /srv
for i in $(awk '/\*deleting .*/ { print $2}' $deletelog ); do
if [ -e "$stage/$i" ]; then
echo "WARNING: $i still exist in stage, not deleting"
else
$dryrun rm -rvf "$dest/$i"
fi
done
df -h /srv
) > $deletelog-deleted
exit 0
# find newest delete log of that day
deletelog=$(ls -1tr ${deletelog%/*}/*-deletes.log | tail -1)
test -n "$deletelog" || exit 1
(
df -h /srv
for i in $(awk '/\*deleting .*/ { print $2}' $deletelog); do
if [ -e "$stage/$i" ]; then
echo "WARNING: $i still exist in stage, not deleting"
else
$dryrun rm -rvf "$dest/$i"
fi
done
df -h /srv
) >$deletelog-deleted
exit 0
fi
mkdir -p "${synclog%/*}" "${deletelog%/*}"
if test -f $synclog; then
old $synclog
old $synclog
fi
if test -f $deletelog; then
old $deletelog
old $deletelog
fi
version=
do_sync_isos=1
for flavor in "${flavors[@]}"; do
get_version
get_version
get_iso
get_iso
get_diff_url
get_changes_filename
if [ -z "$force" -a -e "$dest/$isodir/$iso" ]; then
if [ -t 1 ]; then # only log to tty
echo "$iso already published, skipping isos"
fi
do_sync_isos=0
break
fi
if [ -n "$changes" ]; then
if [ -d "$stage/$changes" ]; then
# new way, use the obs generated changelogs
$dryrun rsync -avvhiH $stage/$changes \
--link-dest=$stage \
$dest/$changes $dry_delete "$@" \
| LC_ALL=C grep -v '^\.[fdL] ' \
| LC_ALL=C grep -v '^\(sending\|delta\)' \
| tee -a $log
else
# old way (already broken?)
if [ ! -s "$changes" ]; then
echo "generating $changes" | tee -a $synclog
[ -z "$dryrun" ] || changes=/dev/stdout
$dryrun curl -sf "$url" > $changes
fi
if [ ! -e $stage/$isodir/$changes ]; then
$dryrun cp -v $changes $stage/$isodir | tee -a $synclog
[ -e $stage/$isodir/Changes ] || $dryrun ln -sf . $stage/$isodir/Changes 2>&1 | tee -a $synclog
fi
fi
fi
if [ ! -e "$stage/$isodir/$iso" ]; then
echo "$flavor with $version doesn't exist, skipping isos" | tee -a $synclog
do_sync_isos=0
break
else
get_iso_link
if [ "`readlink $link`" != "$iso" ]; then
$dryrun ln -sf "$iso" "$link"
$dryrun ln -sf "$iso.sha256" "$link.sha256"
fi
if [ -z "$force" ]; then
if test `date -d "$PUBLISH_DELAY hours ago" +%s` -lt `stat -c "%Z" "$stage/$isodir/$iso"`; then
echo "$iso was created less than $PUBLISH_DELAY hours ago, delay publishing" | tee -a $synclog
do_sync_isos=0
fi
fi
fi
get_diff_url
get_changes_filename
if [ -z "$force" -a -e "$dest/$isodir/$iso" ]; then
if [ -t 1 ]; then # only log to tty
echo "$iso already published, skipping isos"
fi
do_sync_isos=0
break
fi
if [ -n "$changes" ]; then
if [ -d "$stage/$changes" ]; then
# new way, use the obs generated changelogs
$dryrun rsync -avvhiH $stage/$changes \
--link-dest=$stage \
$dest/$changes $dry_delete "$@" |
LC_ALL=C grep -v '^\.[fdL] ' |
LC_ALL=C grep -v '^\(sending\|delta\)' |
tee -a $log
else
# old way (already broken?)
if [ ! -s "$changes" ]; then
echo "generating $changes" | tee -a $synclog
[ -z "$dryrun" ] || changes=/dev/stdout
$dryrun curl -sf "$url" >$changes
fi
if [ ! -e $stage/$isodir/$changes ]; then
$dryrun cp -v $changes $stage/$isodir | tee -a $synclog
[ -e $stage/$isodir/Changes ] || $dryrun ln -sf . $stage/$isodir/Changes 2>&1 | tee -a $synclog
fi
fi
fi
if [ ! -e "$stage/$isodir/$iso" ]; then
echo "$flavor with $version doesn't exist, skipping isos" | tee -a $synclog
do_sync_isos=0
break
else
get_iso_link
if [ "$(readlink $link)" != "$iso" ]; then
$dryrun ln -sf "$iso" "$link"
$dryrun ln -sf "$iso.sha256" "$link.sha256"
fi
if [ -z "$force" ]; then
if test $(date -d "$PUBLISH_DELAY hours ago" +%s) -lt $(stat -c "%Z" "$stage/$isodir/$iso"); then
echo "$iso was created less than $PUBLISH_DELAY hours ago, delay publishing" | tee -a $synclog
do_sync_isos=0
fi
fi
fi
done
# produce directories stamped with build number
for r in "${repos[@]/#//repo/}"; do
for i in /suse/setup /boot; do
d="$stage$r$i"
[ -d "$d" ] || continue
if [ -e "$stage$r/media.1/build" ]; then
read build < "$stage$r/media.1/build"
stamp="${build#*Build}"
if [ "$build" = "$stamp" ]; then
echo "ERROR: build id not parsable: $build. not syncing"
do_sync_isos=0
break 2
fi
elif [ -e "$stage$r/media.1/media" ]; then
{ read dummy; read build; } < "$stage$r/media.1/media"
stamp="${build#*Build}"
if [ "$build" = "$stamp" ]; then
echo "ERROR: build id not parsable: $build. not syncing"
do_sync_isos=0
break 2
fi
else
echo "ERROR: repo $r is missing build id, not syncing"
do_sync_isos=0
break 2
fi
stamped="$stage$r${i%/*}/$stamp-${i##*/}"
if [ ! -L "$d" ]; then
$dryrun mv "$d" "$stamped"
$dryrun ln -s "${stamped##*/}" "$d"
echo "current $stamp" | $dryrun tee $stage/$r/.current.txt
fi
done
for i in /suse/setup /boot; do
d="$stage$r$i"
[ -d "$d" ] || continue
if [ -e "$stage$r/media.1/build" ]; then
read build <"$stage$r/media.1/build"
stamp="${build#*Build}"
if [ "$build" = "$stamp" ]; then
echo "ERROR: build id not parsable: $build. not syncing"
do_sync_isos=0
break 2
fi
elif [ -e "$stage$r/media.1/media" ]; then
{
read dummy
read build
} <"$stage$r/media.1/media"
stamp="${build#*Build}"
if [ "$build" = "$stamp" ]; then
echo "ERROR: build id not parsable: $build. not syncing"
do_sync_isos=0
break 2
fi
else
echo "ERROR: repo $r is missing build id, not syncing"
do_sync_isos=0
break 2
fi
stamped="$stage$r${i%/*}/$stamp-${i##*/}"
if [ ! -L "$d" ]; then
$dryrun mv "$d" "$stamped"
$dryrun ln -s "${stamped##*/}" "$d"
echo "current $stamp" | $dryrun tee $stage/$r/.current.txt
fi
done
done
if [ "$do_sync_isos" = 0 ]; then
if [ -t 1 ]; then
echo "nothing to do"
fi
exit 0
if [ -t 1 ]; then
echo "nothing to do"
fi
exit 0
fi
# scan mirrors before making the files visible
@ -223,57 +229,57 @@ fi
TODO=()
#if [ "$do_sync_isos" = 1 ]; then
TODO+=(iso)
echo "current $version" | $dryrun tee $stage/$isodir/.current.txt
TODO+=(iso)
echo "current $version" | $dryrun tee $stage/$isodir/.current.txt
#fi
if [ -n "$repos" ]; then
TODO+=(repo)
TODO+=(DELETE_repo)
TODO+=(repo)
TODO+=(DELETE_repo)
fi
# a single grep -v regexp performs awfully bad (needs at least 30x so long)
# although LC_ALL=C might fix this, too
for i in "${TODO[@]}"; do
case $i in
DELETE_*)
i=${i#DELETE_}
log=$deletelog
dry_delete="--delete -n"
;;
iso) # ISOs we sync with delete
log=$synclog
dry_delete="--delete-after"
i="$isodir"
;;
*)
log=$synclog
dry_delete=""
;;
esac
case $i in
DELETE_*)
i=${i#DELETE_}
log=$deletelog
dry_delete="--delete -n"
;;
iso) # ISOs we sync with delete
log=$synclog
dry_delete="--delete-after"
i="$isodir"
;;
*)
log=$synclog
dry_delete=""
;;
esac
echo ========== $i $dry_delete ===========
$dryrun rsync -avvhiH $stage/$i \
--link-dest=$stage \
$dest $dry_delete "$@" \
| LC_ALL=C grep -v '^\.[fdL] ' \
| LC_ALL=C grep -v '^\(sending\|delta\)' \
| tee -a $log
echo ========== $i $dry_delete ===========
$dryrun rsync -avvhiH $stage/$i \
--link-dest=$stage \
$dest $dry_delete "$@" |
LC_ALL=C grep -v '^\.[fdL] ' |
LC_ALL=C grep -v '^\(sending\|delta\)' |
tee -a $log
done
# also sync source and debug, not bind mounted for Leap
for r in "${extra_repos[@]}"; do
stage="/srv/ftp-stage/pub/opensuse/$r/$path"
dest="/srv/ftp/pub/opensuse/$r/$path"
$dryrun rsync -avhiH $stage/ --link-dest=$stage \
$dest --delete-after "$@" | tee -a log
stage="/srv/ftp-stage/pub/opensuse/$r/$path"
dest="/srv/ftp/pub/opensuse/$r/$path"
$dryrun rsync -avhiH $stage/ --link-dest=$stage \
$dest --delete-after "$@" | tee -a log
done
# mark published
get_mark_published_url
if [ -n "$url" ]; then
$dryrun curl -X POST -F "version=$version" "$url"
$dryrun curl -X POST -F "version=$version" "$url"
fi
#echo creating hashes

View File

@ -5,7 +5,7 @@
configuration files in this repository are used by `../publish_distro`
to publish content from ftp-stage to ftp-prod on the pontifex host
Individual releases have its own section in
Individual releases have its own section in
`pontifex.infra.opensuse.org:~mirror/bin/publish_factory_leap` which
is triggered by a cronjob on a regular basis.
@ -17,4 +17,4 @@ Users need to have [openSUSE Heroes](https://en.opensuse.org/openSUSE:Heroes) VP
## Deployment of publish_distro and related configuration
publish_distro should be deployed as part of `openSUSE-release-tools` rpm by openSUSE heroes.
Configuration files will be currently checked out from git under the `mirror` user.
Configuration files will be currently checked out from git under the `mirror` user.

View File

@ -21,12 +21,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-Micro-$micro_version$qu-$flavor-Build$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/iso/openSUSE-Leap-$micro_version$qu-$flavor-Current.iso"
}
@ -43,8 +43,8 @@ get_mark_published_url()
get_changes_filename()
{
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# changes="$changes_dir_base/leap/$micro_version/Changes.$version.txt"
}

View File

@ -21,12 +21,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-Micro-$micro_version$qu-$flavor-Build$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/iso/openSUSE-Leap-$micro_version$qu-$flavor-Current.iso"
}
@ -43,8 +43,8 @@ get_mark_published_url()
get_changes_filename()
{
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# changes="$changes_dir_base/leap/$micro_version/Changes.$version.txt"
}

View File

@ -23,7 +23,7 @@ get_version() {
fi
}
_get_iso()
_get_iso()
{
local snapshot="$1"
local suffix=qcow2
@ -40,7 +40,7 @@ get_iso()
iso=`_get_iso "Snapshot$version"`
}
get_iso_link()
get_iso_link()
{
link="$stage/`_get_iso Current`"
}

View File

@ -23,12 +23,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version-$flavor-Snapshot$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/openSUSE-Leap-$leap_version-$flavor-Current.iso"
}

View File

@ -20,12 +20,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version-$flavor-Build$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/iso/openSUSE-Leap-$leap_version-$flavor-Current.iso"
}

View File

@ -23,7 +23,7 @@ get_version() {
fi
}
_get_iso()
_get_iso()
{
local snapshot="$1"
local suffix=qcow2
@ -40,7 +40,7 @@ get_iso()
iso=`_get_iso "Snapshot$version"`
}
get_iso_link()
get_iso_link()
{
link="$stage/`_get_iso Current`"
}

View File

@ -23,12 +23,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version-$flavor-Snapshot$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/openSUSE-Leap-$leap_version-$flavor-Current.iso"
}

View File

@ -20,12 +20,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version-$flavor-Build$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/iso/openSUSE-Leap-$leap_version-$flavor-Current.iso"
}

View File

@ -23,7 +23,7 @@ get_version() {
fi
}
_get_iso()
_get_iso()
{
local snapshot="$1"
local suffix=qcow2
@ -40,7 +40,7 @@ get_iso()
iso=`_get_iso "Snapshot$version"`
}
get_iso_link()
get_iso_link()
{
link="$stage/`_get_iso Current`"
}

View File

@ -23,12 +23,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version-$flavor-Snapshot$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/openSUSE-Leap-$leap_version-$flavor-Current.iso"
}

View File

@ -21,12 +21,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version$qu-$flavor-Build$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/iso/openSUSE-Leap-$leap_version$qu-$flavor-Current.iso"
}
@ -43,9 +43,9 @@ get_mark_published_url()
get_changes_filename()
{
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# changes="$changes_dir_base/leap/$leap_version/Changes.$version.txt"
}

View File

@ -23,7 +23,7 @@ get_version() {
fi
}
_get_iso()
_get_iso()
{
local snapshot="$1"
local suffix=qcow2
@ -41,7 +41,7 @@ get_iso()
iso=`_get_iso "Build$version"`
}
get_iso_link()
get_iso_link()
{
link="$stage/`_get_iso Current`"
}

View File

@ -23,12 +23,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version-$flavor-Snapshot$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/openSUSE-Leap-$leap_version-$flavor-Current.iso"
}

View File

@ -21,12 +21,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version$qu-$flavor-Build$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/iso/openSUSE-Leap-$leap_version$qu-$flavor-Current.iso"
}
@ -43,9 +43,9 @@ get_mark_published_url()
get_changes_filename()
{
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# changes="$changes_dir_base/leap/$leap_version/Changes.$version.txt"
}

View File

@ -21,12 +21,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Leap-$leap_version$qu-$flavor-Build$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/iso/openSUSE-Leap-$leap_version$qu-$flavor-Current.iso"
}
@ -43,9 +43,9 @@ get_mark_published_url()
get_changes_filename()
{
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
# changes="$changes_dir_base/leap/$leap_version/Changes.$version.txt"
# ChangeLog files from obsgendiff are used instead
#changes="$changes_dir_base/jump/$jump_version/Changes.$version.txt"
:
#changes="$changes_dir_base/leap/$leap_version/Changes.$version.txt"
}

View File

@ -20,12 +20,12 @@ get_version() {
fi
}
get_iso()
get_iso()
{
iso="openSUSE-Tumbleweed-$flavor-Snapshot$version-Media.iso"
}
get_iso_link()
get_iso_link()
{
link="$stage/iso/openSUSE-Tumbleweed-$flavor-Current.iso"
}

View File

@ -381,7 +381,8 @@ class TestCheckSource(OBSLocal.TestCase):
# not declined but not accepted either
review = self.assertReview(req_id, by_user=(self.bot_user, 'new'))
self.assertIn("Source URLs are not valid. Try `osc service runall download_files`.\nblowfish-1.tar.gz", review.comment)
self.assertIn("Source URLs are not valid. Try `osc service runall download_files`.", review.comment)
self.assertIn("ERROR: Failed to download \"https://example.com/blowfish-1.tar.gz\"", review.comment)
@pytest.mark.usefixtures("default_config")
def test_existing_source_urls(self):