Skip to content

Commit

Permalink
ci-scripts 2.3.2 (with appveyor)
Browse files Browse the repository at this point in the history
  • Loading branch information
mdavidsaver committed Apr 23, 2020
1 parent 8fe0180 commit 0897836
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 1 deletion.
102 changes: 102 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# .appveyor.yml for use with EPICS Base ci-scripts
# (see: https://github.com/epics-base/ci-scripts)

# This is YAML - indentation levels are crucial

cache:
- C:\Users\appveyor\.tools

#---------------------------------#
# additional packages #
#---------------------------------#

install:
# for the sequencer
- cinst re2c
- cmd: git submodule update --init --recursive

#---------------------------------#
# repository cloning #
#---------------------------------#

init:
# Set autocrlf to make batch files work
- git config --global core.autocrlf true

clone_depth: 50

# Skipping commits affecting only specific files
skip_commits:
files:
- 'documentation/*'
- '**/*.md'

# Build Configurations: dll/static, regular/debug
configuration:
- dynamic
- static
- dynamic-debug
- static-debug

# Environment variables: compiler toolchain, base version, setup file, ...
environment:
# common / default variables for all jobs
SETUP_PATH: .ci-local:.ci

matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
CMP: vs2019
BASE: 7.0
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
CMP: mingw
BASE: 7.0
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
CMP: vs2017
BASE: 7.0
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
CMP: vs2019
BASE: 3.15

# Platform: processor architecture
platform:
- x64

#---------------------------------#
# building & testing #
#---------------------------------#

build_script:
- cmd: python .ci/appveyor/do.py prepare
- cmd: python .ci/appveyor/do.py build

test_script:
- cmd: python .ci/appveyor/do.py test

on_finish:
- ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
- cmd: python .ci/appveyor/do.py build test-results -s

#---------------------------------#
# debugging #
#---------------------------------#

## if you want to connect by remote desktop to a failed build, uncomment these lines
## note that you will need to connect within the usual build timeout limit (60 minutes)
## so you may want to adjust the build matrix above to just build the one of interest

#on_failure:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

#---------------------------------#
# notifications #
#---------------------------------#

notifications:

- provider: Email
to:
- me@example.com
on_build_success: false

- provider: GitHubPullRequest

9 comments on commit 0897836

@bhill-slac
Copy link
Contributor

@bhill-slac bhill-slac commented on 0897836 Jun 23, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get errors from git when I try to cherry-pick any commits after this one.
I think there are some pending commits for the .ci submodule that are causing the problem.
See attached as I checkout the prior commit, then checkout this one.
temp.txt

@ralphlange
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The commit that is reported missing (ecb7e43) is part of the ci-scripts upstream repository:
https://github.com/epics-base/ci-scripts/tree/ecb7e43660200bd5d69e4ffa2a402046cd46e36b
However, it is a detached head and not on the master branch.

This is probably my fault, definitely not intentional, and must have happened in a squashing/rebasing operation that I later on pushed to master without realizing that I was changing published commits.

You should be able to explicitly fetch the missing commit for the submodule. Sorry for the trouble that I caused.
Note that - as ci-scripts is only necessary for building on CI services - the other option would be not checking out the ci-scripts submodule at all. All your local builds will work fine.

@bhill-slac
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried fetching that commit explicitly from github but it fails:
% git fetch https://github.com/epics-base/ci-scripts.git ecb7e43
fatal: Couldn't find remote ref ecb7e43
Unexpected end of command stream

Possibly because that ref is no longer part of any branch or tag and subject to garbage collect?
I did verify that if I hack my .git/config file to undo the git submodule init I can checkout and or cherry-pick
Michael's commits. Once the .ci submodule has been initialized, checkouts and cherry-pick's fail.

Can you create a temporary branch that includes ecb7e43?

@bhill-slac
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other fix would be for @mdavidsaver to redo his commits to use a valid .ci commit.

@mdavidsaver
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you tried with a fresh clone? I wonder if this isn't a side-effect of an earlier shallow clone.

@mdavidsaver
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I see what happened. epics-base/ci-scripts@ecb7e43 was the original position of the v2.3.2 tag (I still have it). However, this tag was moved to epics-base/ci-scripts@d0f93f1. I've pushed a v2.3.2-old tag at ecb7e43 to keep this orphaned commit from actually disappearing (when git-gc runs).

@bhill-slac
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That fixed it. Thanks!

@ralphlange
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whoa. I am very sorry about the mess I created.
I was not aware that I had pushed that branch to the main repo that far when I was re-arranging commits.

@mdavidsaver
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

np. Using submodules as we do, it was bound to happen. I'm surprised it wasn't me. Considering how much I use git rebase it seems inevitable.

Please sign in to comment.